簡體   English   中英

jQuery Ajax對RESTfull API的錯誤請求

[英]JQuery Ajax bad request to RESTfull API

我正在嘗試根據我的一位同事開發的演示Web服務進行身份驗證。 跨域資源共享是允許的,並且如果我嘗試從Chrome中的Advanced rest client插件調用的話,跨域資源共享將非常有效。 但是當我嘗試使用代碼訪問時,出現500服務器錯誤

.ajax({ 
        type : "POST",  
        dataType: 'json',
        url: 'CANTPOSTTHISURL/rest/session',
        contentType: "application/json; charset=utf-8",      
        data: JSON.stringify({"username": "admin", "password": "admin" }),
        success: function(response)
        {
            console.log(response); 
        },
        error: function (data, status) {
            console.log( 'Sample of error data:', status );
            console.log("readyState: "+data.readyState+"\nstatus: "+data.status+"\nresponseText: "+data.responseText);
        },
        complete: function(xhr, status ) {
            console.log( 'COMPLETE');
        }   
  });

我得到的錯誤是:

    OPTIONS CANTPOSTTHISURL/rest/session 500 (Internal Server Error) jquery.js:8475
send jquery.js:8475
jQuery.extend.ajax jquery.js:7930
authenticate wts.js:5
(anonymous function) wts.js:27
jQuery.event.dispatch jquery.js:3045
elemData.handle jquery.js:2721
jQuery.event.trigger jquery.js:2957
(anonymous function) jquery.js:3639
jQuery.extend.each jquery.js:631
jQuery.fn.jQuery.each jquery.js:253
jQuery.fn.extend.trigger jquery.js:3638
H jquery.mobile-1.3.0.min.js:2
I jquery.mobile-1.3.0.min.js:2
jQuery.event.dispatch jquery.js:3045
elemData.handle jquery.js:2721
OPTIONS CANTPOSTTHISURL/rest/session Invalid HTTP status code 500 jquery.js:8475
send jquery.js:8475
jQuery.extend.ajax jquery.js:7930
authenticate wts.js:5
(anonymous function) wts.js:27
jQuery.event.dispatch jquery.js:3045
elemData.handle jquery.js:2721
jQuery.event.trigger jquery.js:2957
(anonymous function) jquery.js:3639
jQuery.extend.each jquery.js:631
jQuery.fn.jQuery.each jquery.js:253
jQuery.fn.extend.trigger jquery.js:3638
H jquery.mobile-1.3.0.min.js:2
I jquery.mobile-1.3.0.min.js:2
jQuery.event.dispatch jquery.js:3045
elemData.handle jquery.js:2721
XMLHttpRequest cannot load CANTPOSTTHISURL/rest/session. Invalid HTTP status code 500 index.html:1
Sample of error data: error wts.js:16
readyState: 0
status: 0
responseText:  wts.js:17
COMPLETE 

和標題:

Request URL:CANTPOSTTHISURL/rest/session
Request Method:OPTIONS
Status Code:500 Internal Server Error
Request Headersview source
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:accept, content-type
Access-Control-Request-Method:POST
Connection:keep-alive
Host:CANTPOSTTHISURL
Origin:http://127.0.0.1:8020
Referer:http://127.0.0.1:8020/ppm/index.html
User-Agent:Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36
Response Headersview source
Access-Control-Allow-Origin:*
Connection:close
Content-Type:application/json
Date:Mon, 31 Mar 2014 13:24:36 GMT
Server:Wildfly 8
Set-Cookie:GEAR=local-53185956500446bd39000020; path=/
Transfer-Encoding:chunked
X-Powered-By:Undertow 1
ConsoleSearch

我認為這是我要發送的數據,但是我也嘗試了'{“ username”:“ admin”,“ password”:“ admin”}'或{“ username”:“ admin”,“ password”:“ admin “},但沒有任何變化。 重要說明:我只能執行POST或OPTION請求,所以沒有jsonp謝謝

我認為您不需要使用stringify方法。

我正在使用以下格式,它為我工作:

url : "http://localhost:9200/" + eleName + "/_suggest",
type : "POST",
dataType : "json",
ContentType: "application/json; charset=utf-8",
data:"{\"result\":{\"text\":\"" + request.term + "\",\"completion\":{\"size\" :10,\"field\":\"name_suggest\"}}}",

嘗試使用JSON格式的字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM