2014-06-12 198 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

相关问题