我正在使用 jquery ajax 函数。当我将 JSON 数据发布到服务器时,我注意到了一个问题。
发布数据的类型是 JSON。所以我添加了代码来指定我发送的是 JSON。
contentType: "application/json".
我写了下面的代码:
var data = {"data": "mytestdata" };
var option = {
url: 'Handler1.ashx',
type: 'POST',
dataType: 'html',
success: function (result) {
alert(result);
},
data: data,
contentType: "application/json"
};
$.ajax(option);
在服务器端,我使用了以下代码:
string s = context.Request["data"];
但结果s
是null
。
从逻辑上讲,设置contentType="application/json"
和发布 json 数据是完美的。但这是错误的。
我还尝试了 php 文件中的代码:
echo $_POST["data"];
PHP 说$_POST["data"] doesn't exist
。
所以我试图删除代码 - contentType: "application/json"
。
现在,一切正常。
但这让我很困惑。为什么我们在发布真正的 json 数据时不需要将 contentType 设置为 json?