【问题标题】:RestFul Web service returns HTTP/1.1 400 Bad RequestRestFul Web 服务返回 HTTP/1.1 400 错误请求
【发布时间】:2013-12-18 07:09:13
【问题描述】:

我已经保护了 RestFul 网络服务,它有几个用户可以访问的界面。用户可以在适当的授权和身份验证后访问这些接口,即通过 https。我已经下载了一个用于 FireFox 的 RestFul 客户端,我从中设置了一些自定义标头,并且在正文中我提供了登录凭据。我能够登录到 Web 服务并能够访问其他界面。

但我正在使用 jQuery、Ajax 编写代码,我试图调用此服务,但我收到“HTTP/1.1 400 Bad Request”作为响应。以下是代码

<script type="text/javascript">
    var xhr,jqXHR;
    if(!xhr && typeof XMLHttpRequest != "undefined") 
    {
        xhr = new XMLHttpRequest();
    } 

self.ajax = function(uri, method, data) {
    var request = {
        url: "https://mysite/login",
        type: "Post",
        // Content-Type: "application/json", 
        //headers: { 'My-Key': 'ACNDSDSKER$%$%$#$#$#$#$"' },
        accepts: "application/json",
        data: {  // the parameters of the request. This should be adapted to your case
            "uid": username,
            "password": password
        },
        cache: false,
        dataType: 'json',
        data: JSON.stringify(data),
        beforeSend: function (xhr) {
            xhr.setRequestHeader("Content-Type", "application/json");
            xhr.setRequestHeader("Authorization", "Basic " + btoa(username + ":" + password));
            xhr.setRequestHeader("My-Key", btoa("ACNDSDSKER$%$%$#$#$#$#$"));
        },
        success:function (jqXHR) {
            alert("ajax success " + jqXHR.status);
        },
        error: function(jqXHR) {
            console.log("ajax error " + jqXHR.status);
        }
    };
    return $.ajax(request);

首先我尝试使用“headers”属性提供自定义标题,但它给出了相同的错误。 其次,我用 beforeSend 函数尝试了这个,但结果是一样的。 第三,我尝试使用基本的 HTTP 协议对登录凭据进行编码,但没有用。它给出了同样的错误。

注意:- 在 Rest Client 中,我不需要提供“授权”作为自定义标头。它使用的协议也是“HTTP认证--OAuth协议”。

请让我知道 Rest Client 发出的相同请求可以正常工作但不能使用 jQuery、Ajax 编写的代码的原因。

【问题讨论】:

    标签: jquery ajax rest


    【解决方案1】:

    您发布的代码有点混乱。您的第二部分在 &lt;script&gt;&lt;/script&gt; 元素之外。这只是复制/粘贴错误吗?否则,将您的代码放入 &lt;script&gt;&lt;/script&gt; 标记中并再次测试。

    【讨论】:

    • 一切都在脚本标签中
    猜你喜欢
    • 1970-01-01
    • 2017-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 2015-04-10
    • 2018-04-07
    相关资源
    最近更新 更多