Jquery AJAX(json)跨域请求与ASP.NET MVC

发布于 2024-11-06 08:36:34 字数 555 浏览 0 评论 0原文

在我看来,这是一个被打败的主题,但我找不到答案。 =( 我发出 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

┾廆蒐ゝ 2024-11-13 08:36:34

您可以通过创建XMLHttpRequest对象或XDomainRequest对象在网页中发起跨域请求。最终用户的网络浏览器将通过发送带有 origin 值的“Origin”标头来向域服务器请求数据。如果服务器响应“Access-Control-Allow-Origin: * | Origin”,那么我们就被允许访问数据;否则响应将是未经授权的请求。

protected void Application_BeginRequest(object sender, EventArgs e)
{
    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");

    // HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "http://AllowedDomain.com");
}

这里有一篇文章: 跨源请求和 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.

protected void Application_BeginRequest(object sender, EventArgs e)
{
    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");

    // HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "http://AllowedDomain.com");
}

An article here: Cross-Origin requests and ASP.NET MVC

海拔太高太耀眼 2024-11-13 08:36:34

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

小傻瓜 2024-11-13 08:36:34

尝试使用 dataType: 'jsonp' 或 $.getJSON 函数。

Try using dataType: 'jsonp', or $.getJSON function.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文