我尝试使用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
?
答案 0 :(得分:1)
缓存默认为false
(请参阅代码中的dataType
);参数_
用于突发缓存。该值是请求时的时间戳。
答案 1 :(得分:0)
将datatype
从jsonp
替换为json
。
您可以在此处详细了解json
和jsonp
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");
}
}