0

我有一个服务器 express 在端口 8080 上处于活动状态,另一个服务器 express 在端口 3700 上处于活动状态。用户使用“localhost:8080”上的网页与服务器交互,但某些功能在服务器 3700 上本地化。所以我使用 $.ajax在服务器 8080 上活动的 html/js 页面内的操作。我如何才能与两台服务器进行通信和交互?例如,如果我使用 ajax 在“localhost:8080/showVal.html”中的网页内询问“localhost:3700/getVal”,我如何获得响应?这是我的客户代码:

            $.ajax({
            url: "http://localhost:3700/getVal",
            type: "GET",
            dataType: "JSONP",
            crossDomain: "true",
            data: {objectData: someObject},
            contentType: "application/json",
            cache: false,
            timeout: 5000,
            complete: function() {
              //called when complete
              console.log('process complete');
            },

            success: function(data) {
              console.log(data);
              console.log('process sucess');
           },

            error: function() {
              console.log('process error');
            },
          });

这是服务器端:

app.get('/getVal', function(req, res) {
    console.log(req.body.objectData);
    res.contentType('json');
    res.send({ some: JSON.stringify({response:'json'}) });
});
4

1 回答 1

0

前往不同端口的请求正在调用Same Origin Policy下的不同域。

您可以通过启用CORS来绕过此限制。

于 2013-10-24T13:18:14.663 回答