为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用jQuery在其他端口上发送AJAX请求?

/ 猿问

如何使用jQuery在其他端口上发送AJAX请求?

慕少森 2019-11-14 14:18:22

我需要将AJAX请求发送到端口8080,例如,在其中运行守护程序的端口。


查看完整描述

3 回答

?
慕哥9229398

您不能POST跨域,子域或端口号信息。但是,如果您可以同时访问守护程序和请求站点,则可以使用JSONP 。如果需要返回数据,则daemon需要支持callback查询参数并以正确的格式返回它。


将信息传递给守护程序:


$.getJSON('http://domain.com:8080/url/here?callback=?', {

  key: 'value',

  otherKey: 'otherValue'

}, function(data){

     // Handles the callback when the data returns

});

现在,只需确保您的守护程序可以处理该callback参数。例如,如果callback=mycallback守护程序的返回(唯一写入页面的内容)应如下所示:


对于键/值对:


mycallback( {'returnkey':'returnvalue', 'other':'data' });

对于数组:


mycallback( [1,2,3] );

如果没有JSONP或类似机制,则无法使用jQuery进行跨域通信。


查看完整回答
反对 2019-11-14
?
慕丝7291255

即使您将其放在相同的盒子上,只是端口不同,这也算作一个不同的来源。


如果您主要针对FireFox 3.5及更高版本等新的浏览器,则可以尝试Access-Control在其他端口中向应用程序添加标头,并允许从默认应用程序池调用。有关访问控制标头的信息可以在这里找到:https : //developer.mozilla.org/en/HTTP_access_control


IE也实现了它(同样,为什么要使用其他的ACTIVEX控件呢?):http : //blogs.msdn.com/ie/archive/2009/01/14/completing-access-control-support-for-xdomainrequest .aspx和http://msdn.microsoft.com/zh-CN/library/cc288060(VS.85).aspx


查看完整回答
反对 2019-11-14

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信