Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点Js/ExpressAPI调用使用来自客户端的信息_Javascript_Node.js_Api_Express_Get - Fatal编程技术网

Javascript 节点Js/ExpressAPI调用使用来自客户端的信息

Javascript 节点Js/ExpressAPI调用使用来自客户端的信息,javascript,node.js,api,express,get,Javascript,Node.js,Api,Express,Get,因此,我正在编写一个webapp来从steam api获取信息,我遇到了一些cors问题,因此我编写了一个node/express服务器来执行实际的api调用,然后客户端应用程序从我的服务器上获取json。这是可行的,但前提是api调用在我的服务器上是硬编码的。如何从客户端的“sid”表单字段向服务器提供用户ID 服务器代码: var express = require('express'); var request = require('request'); var app = expr

因此,我正在编写一个webapp来从steam api获取信息,我遇到了一些cors问题,因此我编写了一个node/express服务器来执行实际的api调用,然后客户端应用程序从我的服务器上获取json。这是可行的,但前提是api调用在我的服务器上是硬编码的。如何从客户端的“sid”表单字段向服务器提供用户ID

服务器代码:

var express = require('express');  
var request = require('request');

var app = express();  
function proxy(){
  app.use('/', function(req, res) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    var apiServerHost = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=[APIKEY]&steamids=";
    var userId = 76561197972495328;
    var url = apiServerHost+userId;
    req.pipe(request(url)).pipe(res);
  });
}

proxy();


app.listen(process.env.PORT || 3000); 
客户端代码:

function submit(){
    $(document).ready(function(){
        var sid = document.getElementById("idform").elements[0].value;
        $.getJSON("http://localhost:3000/", function(result){
            console.log(result);
            console.log(result.response.players[0]);
            for(i in result.response.players[0]){
                document.getElementById("main").appendChild(document.createTextNode(i + " : " + result.response.players[0][i]));
                document.getElementById("main").appendChild(document.createElement("br"));
            }
        });
    });
}
function submit(){
    $(document).ready(function(){
        var sid = document.getElementById("idform").elements[0].value;
        $.getJSON("http://localhost:3000/?sid=" + encodeURIComponent(sid), function(result){
            console.log(result);
            console.log(result.response.players[0]);
            for(i in result.response.players[0]){
                document.getElementById("main").appendChild(document.createTextNode(i + " : " + result.response.players[0][i]));
                document.getElementById("main").appendChild(document.createElement("br"));
            }
        });
    });
}   
试试这个:

服务器代码:

var express = require('express');  
var request = require('request');

var app = express();  
function proxy(){
  app.use('/', function(req, res) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    var apiServerHost = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=[APIKEY]=";
    var userId = encodeURIComponent(req.query.sid);
    var url = apiServerHost+userId;
    req.pipe(request(url)).pipe(res);
  });
}

proxy();


app.listen(process.env.PORT || 3000); 
客户端代码:

function submit(){
    $(document).ready(function(){
        var sid = document.getElementById("idform").elements[0].value;
        $.getJSON("http://localhost:3000/", function(result){
            console.log(result);
            console.log(result.response.players[0]);
            for(i in result.response.players[0]){
                document.getElementById("main").appendChild(document.createTextNode(i + " : " + result.response.players[0][i]));
                document.getElementById("main").appendChild(document.createElement("br"));
            }
        });
    });
}
function submit(){
    $(document).ready(function(){
        var sid = document.getElementById("idform").elements[0].value;
        $.getJSON("http://localhost:3000/?sid=" + encodeURIComponent(sid), function(result){
            console.log(result);
            console.log(result.response.players[0]);
            for(i in result.response.players[0]){
                document.getElementById("main").appendChild(document.createTextNode(i + " : " + result.response.players[0][i]));
                document.getElementById("main").appendChild(document.createElement("br"));
            }
        });
    });
}   
试试这个:

服务器代码:

var express = require('express');  
var request = require('request');

var app = express();  
function proxy(){
  app.use('/', function(req, res) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    var apiServerHost = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=[APIKEY]=";
    var userId = encodeURIComponent(req.query.sid);
    var url = apiServerHost+userId;
    req.pipe(request(url)).pipe(res);
  });
}

proxy();


app.listen(process.env.PORT || 3000); 
客户端代码:

function submit(){
    $(document).ready(function(){
        var sid = document.getElementById("idform").elements[0].value;
        $.getJSON("http://localhost:3000/", function(result){
            console.log(result);
            console.log(result.response.players[0]);
            for(i in result.response.players[0]){
                document.getElementById("main").appendChild(document.createTextNode(i + " : " + result.response.players[0][i]));
                document.getElementById("main").appendChild(document.createElement("br"));
            }
        });
    });
}
function submit(){
    $(document).ready(function(){
        var sid = document.getElementById("idform").elements[0].value;
        $.getJSON("http://localhost:3000/?sid=" + encodeURIComponent(sid), function(result){
            console.log(result);
            console.log(result.response.players[0]);
            for(i in result.response.players[0]){
                document.getElementById("main").appendChild(document.createTextNode(i + " : " + result.response.players[0][i]));
                document.getElementById("main").appendChild(document.createElement("br"));
            }
        });
    });
}   
试试这个:

服务器代码:

var express = require('express');  
var request = require('request');

var app = express();  
function proxy(){
  app.use('/', function(req, res) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    var apiServerHost = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=[APIKEY]=";
    var userId = encodeURIComponent(req.query.sid);
    var url = apiServerHost+userId;
    req.pipe(request(url)).pipe(res);
  });
}

proxy();


app.listen(process.env.PORT || 3000); 
客户端代码:

function submit(){
    $(document).ready(function(){
        var sid = document.getElementById("idform").elements[0].value;
        $.getJSON("http://localhost:3000/", function(result){
            console.log(result);
            console.log(result.response.players[0]);
            for(i in result.response.players[0]){
                document.getElementById("main").appendChild(document.createTextNode(i + " : " + result.response.players[0][i]));
                document.getElementById("main").appendChild(document.createElement("br"));
            }
        });
    });
}
function submit(){
    $(document).ready(function(){
        var sid = document.getElementById("idform").elements[0].value;
        $.getJSON("http://localhost:3000/?sid=" + encodeURIComponent(sid), function(result){
            console.log(result);
            console.log(result.response.players[0]);
            for(i in result.response.players[0]){
                document.getElementById("main").appendChild(document.createTextNode(i + " : " + result.response.players[0][i]));
                document.getElementById("main").appendChild(document.createElement("br"));
            }
        });
    });
}   
试试这个:

服务器代码:

var express = require('express');  
var request = require('request');

var app = express();  
function proxy(){
  app.use('/', function(req, res) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    var apiServerHost = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=[APIKEY]=";
    var userId = encodeURIComponent(req.query.sid);
    var url = apiServerHost+userId;
    req.pipe(request(url)).pipe(res);
  });
}

proxy();


app.listen(process.env.PORT || 3000); 
客户端代码:

function submit(){
    $(document).ready(function(){
        var sid = document.getElementById("idform").elements[0].value;
        $.getJSON("http://localhost:3000/", function(result){
            console.log(result);
            console.log(result.response.players[0]);
            for(i in result.response.players[0]){
                document.getElementById("main").appendChild(document.createTextNode(i + " : " + result.response.players[0][i]));
                document.getElementById("main").appendChild(document.createElement("br"));
            }
        });
    });
}
function submit(){
    $(document).ready(function(){
        var sid = document.getElementById("idform").elements[0].value;
        $.getJSON("http://localhost:3000/?sid=" + encodeURIComponent(sid), function(result){
            console.log(result);
            console.log(result.response.players[0]);
            for(i in result.response.players[0]){
                document.getElementById("main").appendChild(document.createTextNode(i + " : " + result.response.players[0][i]));
                document.getElementById("main").appendChild(document.createElement("br"));
            }
        });
    });
}   

$.getJSON
的第二个参数是可以发送到服务器的数据,就像任何ajax调用一样

var sid = document.getElementById("idform").elements[0].value;

$.getJSON("http://localhost:3000/", {sid: sid}, function(result){ ...
并在节点中捕获它

app.use('/', function(req, res) {
    var sid = req.query.sid || "";

    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");

    var qs  = "?key=[APIKEY]&steamids=" + sid;
    var url = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/" + qs;

    req.pipe(request(url)).pipe(res);
});

$.getJSON
的第二个参数是可以发送到服务器的数据,就像任何ajax调用一样

var sid = document.getElementById("idform").elements[0].value;

$.getJSON("http://localhost:3000/", {sid: sid}, function(result){ ...
并在节点中捕获它

app.use('/', function(req, res) {
    var sid = req.query.sid || "";

    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");

    var qs  = "?key=[APIKEY]&steamids=" + sid;
    var url = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/" + qs;

    req.pipe(request(url)).pipe(res);
});

$.getJSON
的第二个参数是可以发送到服务器的数据,就像任何ajax调用一样

var sid = document.getElementById("idform").elements[0].value;

$.getJSON("http://localhost:3000/", {sid: sid}, function(result){ ...
并在节点中捕获它

app.use('/', function(req, res) {
    var sid = req.query.sid || "";

    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");

    var qs  = "?key=[APIKEY]&steamids=" + sid;
    var url = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/" + qs;

    req.pipe(request(url)).pipe(res);
});

$.getJSON
的第二个参数是可以发送到服务器的数据,就像任何ajax调用一样

var sid = document.getElementById("idform").elements[0].value;

$.getJSON("http://localhost:3000/", {sid: sid}, function(result){ ...
并在节点中捕获它

app.use('/', function(req, res) {
    var sid = req.query.sid || "";

    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");

    var qs  = "?key=[APIKEY]&steamids=" + sid;
    var url = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/" + qs;

    req.pipe(request(url)).pipe(res);
});

$.getJSON
的第二个参数是可以发送到服务器的数据,就像任何ajax调用一样。
$.getJSON
的第二个参数是可以发送到服务器的数据,就像任何ajax调用一样。
$.getJSON
的第二个参数是可以发送到服务器的数据,与任何ajax调用一样。
$.getJSON
的第二个参数是可以发送到服务器的数据,就像任何ajax调用一样。感谢您,这样做有效,但我必须使用
document.getElementById(“idform”).elements[0]。value
而不是
$(“#idform”).val()噢,好的,
idform
是一个表单,
elements[0]
获取该表单中的第一个输入。我错过了那个,只是(错误地)改变了它。我会将其更改回去,但是
$(“#idform:input”).first()
可能也会工作。谢谢,这工作正常,但我必须使用
文档.getElementById(“idform”).elements[0]。value
而不是
$(“#idform”).val()噢,好的,
idform
是一个表单,
elements[0]
获取该表单中的第一个输入。我错过了那个,只是(错误地)改变了它。我会将其更改回去,但是
$(“#idform:input”).first()
可能也会工作。谢谢,这工作正常,但我必须使用
文档.getElementById(“idform”).elements[0]。value
而不是
$(“#idform”).val()噢,好的,
idform
是一个表单,
elements[0]
获取该表单中的第一个输入。我错过了那个,只是(错误地)改变了它。我会将其更改回去,但是
$(“#idform:input”).first()
可能也会工作。谢谢,这工作正常,但我必须使用
文档.getElementById(“idform”).elements[0]。value
而不是
$(“#idform”).val()噢,好的,
idform
是一个表单,
elements[0]
获取该表单中的第一个输入。我错过了那个,只是(错误地)改变了它。我会把它改回去,但是,
$(“#idform:input”)。第一个()
可能也可以。谢谢,我用了你的一部分和其他答案的一部分谢谢我用了你的一部分和其他答案的一部分谢谢我用了你的一部分和其他答案的一部分谢谢我用了你的一部分和其他答案的一部分谢谢