我必须对位于另一台服务器上的 asp 表单进行 POST 调用(带参数)。
对于开发,我在同一台服务器上执行此操作,并且运行良好,但现在我在另一台服务器上对其进行测试,我收到的不是 200 状态,而是 0 状态。
我认为这是因为它是一个跨域 AJAX 调用,这是唯一发生变化的地方。那么我该如何调用这个电话呢?是否有任何文件可以放在服务器/客户端上以允许此调用(如 flash,...)?
谢谢!
最佳答案
是的,假设您可以更改连接到的服务器
你可以实现Cross Origin Resource Sharing (CORS)
如果要允许所有域访问,需要服务器返回Access-Control-Allow-Origin: *
,否则返回Access-Control-Allow-Origin: http://你的域名.com
如果您无法更改正在访问的服务器,则需要在您的脚本所来自的服务器上使用代理 - 或者调查他们是否已发布 API 以返回例如 JSONP
这里有更多的细节
- MDN HTTP access control (如何)
- W3Org (实现细节)
- MSDN XDR
以及这个问题右侧的几个链接
关于javascript - 跨域 AJAX post 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6812331/