跨域AJAX post调用
我必须对位于另一台服务器上的 asp 表单进行 POST 调用(带参数)。
对于开发,我在同一台服务器上执行了此操作,并且运行良好,但现在我在另一台服务器上测试它,我收到的不是 200 状态,而是 0 状态。
我认为这是因为它是跨域 AJAX 调用,这是唯一发生变化的事情。那么我该如何拨打这个电话呢?是否有任何文件可以放在服务器/客户端上以允许此调用(例如 flash,...)?
谢谢你!
I've to make a POST call(with parameter) to an asp form which is located on another server.
For development, I did this on the same server, and it works perfectly, but now I'm testing it on another server, and instead of receiving a 200 status, I receive a 0 status.
I think it's because it's a cross-domain AJAX call, it's the only thing which changed. So how can I make this call? Is there any file I can put on the server/client to allow this call(like flash, ...)?
Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,假设您可以更改连接到的服务器
您可以实施跨源资源共享(CORS)
如果要允许所有域访问,需要服务器返回
Access-Control-Allow-Origin: *
,否则返回Access-Control-Allow-Origin: http://yourdomain.com
如果您无法更改正在访问的服务器,则需要在脚本来源的服务器上使用代理 - 或者调查他们是否已发布 API 以返回例如 JSONP
这里有更多详细信息
以及此问题右侧的几个链接
Yes, assuming you can change the server you connect to
You can implement Cross Origin Resource Sharing (CORS)
You need the server to return
Access-Control-Allow-Origin: *
if you want to allow all domains to access, otherwise returnAccess-Control-Allow-Origin: http://yourdomain.com
If you cannot change the server you are accessing, you need to use a proxy on the server your script comes from - alternatively investigate if they have published an API to return for example JSONP
More details here
and several links to the right of this questions
您可以创建代理脚本,或使用 jsonp。
更简单的方法是在服务器上使用代理脚本。
You can either create a proxy script, or use jsonp.
The easier course would be to use a proxy script on your server.