【发布时间】:2012-02-05 07:13:12
【问题描述】:
我正在尝试通过 jQuery.ajax() 发布原始字符串
例如,
contact_list=352345
我有
$.ajax({
beforeSend: function(xhr){
xhr.setRequestHeader('Content-Type', header);
}
},
url: link,
type: type,
processData:false,
data: data,
success: function(data){
console.log(data);
}
});
大部分时间我发送 JSON 数据,所以header='application/json'
在服务器端,我回显 $HTTP_RAW_POST_DATA 并查看我的 JSON 字符串。
但是,我有时也想发送普通表单数据。但是当我设置header='application/x-www-form-urlencoded'$HTTP_RAW_POST_DATA为空时。
ProcessData 是假的,所以它不应该只是传递我的字符串吗?
作为一种临时解决方法,我只是将标头保留为 application/json 并忽略服务器上此特定端点的 Content-Type。
【问题讨论】:
-
真正令我难以置信的是,在网络检查器中,请求有效负载似乎正确通过。例如,contact_list=352345 是否存在......也许这是 PHP 的事情,表单数据没有显示在 $HTTP_RAW_POST_DATA 中?
标签: javascript jquery rest post