2014-06-12 196 views
0

我喜歡通過將jQuery用於(Java)Rest服務來發送更改的數據。該服務不在同一個域中。jQuery Ajax POST失敗,出現錯誤400(錯誤請求)

好這對REST服務的Java代碼:

@POST 
@Path(value = "/save") 
@Consumes(MediaType.APPLICATION_JSON) 
public void persistEntities(final Object dto) { // do something here } 

這是POST請求的jQuery代碼:

$.ajax({ 
     url: 'http://csepcchb/zedas/rest/json/save', 
     type: 'POST', 
     dataType: 'jsonp', 
     crossDomain: true, 
     data: JSON.stringify(inputData), 
     contentType: "application/json; charset=utf-8", 
     success: ... , 
     error: ... 
    }); 

請求失敗,錯誤 「400(錯誤請求)」( JavaScript錯誤)

的SERVERLOG說

Failed to parse request.: java.lang.IllegalArgumentException: Illegal character in query at index 90: http://csepcchb/zedas/rest/json/save?callback=jQuery21103997392114251852_1402577652794&%22{\%22bezeichnung\%22:\%22*42017\%22,\%22elementArt\%22:\%22Aufr%C3%BCsten\%22,\%22beginn\%22:\%2213:15\%22,\%22start\%22:\%22BRBD\%22,\%22ziel\%22:\%22BRBD\%22,\%22ende\%22:\%2201:02\%22,\%22beschreibung\%22:null}%22&_=1402577652796 

如果我想也是這個,沒有成功

data: inputData 

誰能幫我請解決這個問題?

回答

0

我覺得您的網址是錯誤的存在失去了一些東西例如.com(TLD)

例如網址:

http://csepcchb.com/zedas/rest/json/save

+0

這不是problem.'csepcchb」是一樣的爲http:/ /本地主機。它是電腦的名字。 – Chris86

+0

其餘服務解析數據時出現問題: 無法解析請求:java.lang.IllegalArgumentException:索引90處查詢中的非法字符:http:// csepcchb/zedas/rest/json/save?回調= jQuery21103997392114251852_1402577652794&%22 {\%22bezeichnung \%22:\%22 * 42017 \%22 \%22elementArt \%22:\%22Aufr%C3%BCsten \%22 \%22beginn \%22:\%2213 :15 \%22 \%22start \%22:\%22BRBD \%22 \%22ziel \%22:\%22BRBD \%22 \%22ende \%22:\%2201:02 \%22 \%22beschreibung \%22:null}%22&_ = 1402577652796 – Chris86

+0

didn't知道,學到了一些新的感謝;)你確定你返回的JSON對象是正確的嗎?你能用json lint驗證它嗎? – Mike

相關問題