Jquery AJAX(json)跨域请求与ASP.NET MVC
在我看来,这是一个被打败的主题,但我找不到答案。 =( 我发出 jquery ajax 请求 localhost:666 来自 localhost:555 应用程序,
$.ajax({
url: "http://localhost:666/request",
dataType: 'json',
timeout: 5000,
success:...
我在 chrome 中得到了:
XMLHttpRequest 无法加载 http://localhost:666/request。 Access-Control-Allow-Origin 不允许来源 http://localhost:555。
问题的解决办法是什么?
Seemed to me to be a beaten theme, but i couldn't find the answer. =(
I make jquery ajax requst to
localhost:666 from localhost:555 application
$.ajax({
url: "http://localhost:666/request",
dataType: 'json',
timeout: 5000,
success:...
i've got in chrome:
XMLHttpRequest cannot load http://localhost:666/request. Origin http://localhost:555 is not allowed by Access-Control-Allow-Origin.
What is the solution of the problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以通过创建XMLHttpRequest对象或XDomainRequest对象在网页中发起跨域请求。最终用户的网络浏览器将通过发送带有 origin 值的“Origin”标头来向域服务器请求数据。如果服务器响应“Access-Control-Allow-Origin: * | Origin”,那么我们就被允许访问数据;否则响应将是未经授权的请求。
这里有一篇文章: 跨源请求和 ASP.NET MVC
You can initiate cross-domain request in your webpage by creating either XMLHttpRequest object or XDomainRequest object. End user's web-browser will request data from the domain's server by sending an "Origin" header with the value of origin. If server responds with an "Access-Control-Allow-Origin: * | Origin" then we are permitted to access data; otherwise response will be unauthorized request.
An article here: Cross-Origin requests and ASP.NET MVC
ajax 调用仅限于父域。为此, localhost:666 上的站点无法打开与 localhost:555 的 ajax 连接,因为它们属于不同的域(或来源),
您需要尝试 jsonp: http://www.google.com/search?q=jsonp
ajax calls are confined to parent domain only. for this a site on localhost:666 can not open ajax connection to localhost:555 since they belongs to different domain (or origin)
you need to try jsonp: http://www.google.com/search?q=jsonp
尝试使用 dataType: 'jsonp' 或 $.getJSON 函数。
Try using dataType: 'jsonp', or $.getJSON function.