0

ポート8080でアクティブなサーバーエクスプレスとポート3700でアクティブな別のサーバーエクスプレスがあります。ユーザーは「localhost:8080」のWebページを使用してサーバーと対話しますが、一部の機能はサーバー3700でローカライズされています。サーバー8080でアクティブなhtml/jsページ内の操作.2つのサーバーと通信して対話するにはどうすればよいですか? 例えば、「localhost:8080/showVal.html」というWebページ内でajaxを使って「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 に答える