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
誰能幫我請解決這個問題?
這不是problem.'csepcchb」是一樣的爲http:/ /本地主機。它是電腦的名字。 – Chris86
其餘服務解析數據時出現問題: 無法解析請求: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
didn't知道,學到了一些新的感謝;)你確定你返回的JSON對象是正確的嗎?你能用json lint驗證它嗎? – Mike