回调HTTP 400错误

时间:2016-08-03 13:35:31

标签: javascript jquery ajax restful-url

我尝试使用jQuery AJAX使用REST API发布数据。我的代码如下,

$.ajax({
    url: 'myurl',
    type: 'POST',
    contentType: 'application/json; charset=utf-8',
    data: JSON.stringify(jsonData),
    dataType: 'jsonp',
    success: function(responseData, textStatus, jqXHR) {   
        if (responseData.result == "true") {            
            $.mobile.changePage("#registersuccess",{transition:"slide"});
        } else {
            alert("kayıt başarısız");
        }
    }
});

我正在使用Explorer开发人员工具进行监控。我收到此错误消息:

  

HTTP400:BAD REQUEST - 由于语法无效,服务器无法处理该请求   GET - http:MyService?callback = jQuery111306711937631005869_1470230696599& [{" name":""," phoneNumber":"",&# 34;密码":""}]&安培; _ = 1470230696600

这是什么意思:&_=1470230696600

3 个答案:

答案 0 :(得分:1)

对于JSONP请求,

缓存默认为false(请参阅代码中的dataType);参数_用于突发缓存。该值是请求时的时间戳。

请参阅http://api.jquery.com/jQuery.ajax/

上的jQuery文档

答案 1 :(得分:0)

datatypejsonp替换为json。 您可以在此处详细了解jsonjsonp What are the differences between JSON and JSONP?

之间的区别

答案 2 :(得分:0)

我解决了添加服务器站点代码的问题,

public class CORSFilter

实现ContainerResponseFilter {

public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
        throws IOException {

    MultivaluedMap<String, Object> headers = responseContext.getHeaders();

    headers.add("Access-Control-Allow-Origin", "*");
    //headers.add("Access-Control-Allow-Origin", "http://podcastpedia.org"); //allows CORS requests only coming from podcastpedia.org       
    headers.add("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT");          
    headers.add("Access-Control-Allow-Headers", "X-Requested-With, Content-Type, X-Codingpedia");
}

}