【问题标题】:JQuery Authorization doesn't work for RESTful servicesJQuery 授权不适用于 RESTful 服务
【发布时间】:2012-09-18 05:16:04
【问题描述】:

我希望在 RESTful 服务的身份验证成功后收到来自服务器的 JSON 响应。

我正在使用下面的代码:

 jQuery.ajax({
                        type: "GET",
                        url: "http://dev.ragld.com/hostinfo/",
                        contentType: "json",
                        beforeSend: function(jqXHR){
                            jqXHR.setRequestHeader("Authorization", "Basic cmsdfsdfG~~~~~Q6cmFnbGQ=");
//some characters have been changed for security reasons.
                        },
                        accept: "application/json",
                        async:false,
                        success: function(response){
                            console.log('success called..');
                        },
                        error: function(errorObj){
                            console.log(errorObj);
                        }
    });

由于某些原因,它没有选择GET 的方法,当我在FF 中检查firebug 的NET 选项卡时,它显示方法为OPTIONS 而不是GET。 同样,它不会返回我期望的 JSON 数据。

谁能帮忙?

编辑 来自chrome的错误,但它并没有说太多:

【问题讨论】:

    标签: jquery json restful-authentication


    【解决方案1】:

    你的 REST api 有 COORS 吗?否则,您无法对与您不在同一域中的 URL 进行 AJAX 调用。

    【讨论】:

    • 是的,我可以从不同的服务器发出请求。我有另一个正在运行的服务,我可以使用未经授权的 getJSON 访问它并且它可以工作。只有这个经过授权的请求不起作用。
    • 请检查我的编辑,它并没有说太多。请注意响应头是空的。
    • 尝试使用 Chrome 浏览器检查它记录到控制台的内容。从图片来看,由于某种原因出现了ajax错误。 errorObj 应该有足够的信息来验证原因。
    猜你喜欢
    • 2011-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-24
    • 2020-01-10
    • 2015-04-24
    相关资源
    最近更新 更多