【发布时间】:2017-11-14 20:55:22
【问题描述】:
我需要通过 POST 发送 json 数据,所以 在我的 var request 中具有 json 对象的结构
任何时候点击一个按钮,我都会调用这个函数:
function sendJSON(p_id, p_type) {
var request=[{
"id":null,
"version":null,
"type":null,
"enabled":false,
"priority":null,
"params":[
{
"id":null,
"version":null,
"value":p_id,
},
{
"id":null,
"version":null,
"value":p_type,
"valueXML":null,
"editable":false,
}
],
"lastEX":null
}
];
console.log(request);
$.ajax({
url: 'http://192.168.4.6:8080/recList/',
type: 'POST',
crossDomain: true,
contentType: 'application/json',
data: request ,
dataType: 'json',
success: function (response) {
var resp = JSON.parse(response);
alert(resp);
},
error: function (xhr, status) {
alert("err");
}
});
};
我不明白为什么它不起作用 我是不是忘记了什么?
Request URL:http://192.168.4.6:8080/recList/
Request Method:OPTIONS
Status Code:200 OK
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US;q=0.6,en;q=0.4
Access-Control-Request-Headers:content-type
Access-Control-Request-Method:POST
Connection:keep-alive
【问题讨论】:
-
为什么要使用 JSON.stringify?如果需要,您可以将请求作为对象发送。
-
不用stringfy试试看
-
状态码是200,应该没问题。也许 JSON.parse 失败 - 您是否尝试调试成功回调?
-
请求未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin '192.168.4.6:8080/recList' 不允许访问。 xHR 加载失败:POST
-
您从哪个域发送请求?确切的网址?