我一直在使用带有ASP.NET的JayRock框架来返回通过javascript消费的JSON。一切都运行良好,直到我将$ .ajax调用从GET更改为POST。在此更改后,我现在收到此错误。
{"id":null,"error":{"name":"JSONRPCError","message":"Missing value.","errors":[{"name":"JsonException","message":"Missing value."}]}}
这是我的javascript:
var tmp = '{ "assID": 52 }';
var tmpObj = $.parseJSON(tmp);
$.ajax
({
type: "POST",
url: '/jsonC.ashx/tester',
dataType: 'json',
data: tmpObj,
async: true,
contentType: 'application/json',
success: function (result) {
console.log(JSON.stringify(result));
}
})
有人有什么想法吗? 提前谢谢。
答案 0 :(得分:0)
您需要将参数作为数据添加到配置值...
中$.ajax
({
type: "POST",
url: '/jsonC.ashx/tester',
dataType: 'json',
data: {id: some_value, other_var: 'some string'}
async: true,
contentType: 'application/json',
success: function (result) {
console.log(JSON.stringify(result));
}
})
只需用实际值替换数据内容即可。目前您正在发布到一个页面,但不发送任何后期变量。
答案 1 :(得分:0)
以下是应该做什么的定义:
var dataString = '{ "assID": 52 }';
var postData = $.parseJSON(dataString);
var response;
$.ajax({
type: 'POST',
url: '/jsonC.ashx/tester',
contentType: 'application/json',
data: JSON.stringify(postData),
dataType: 'json',
success: function(data) {
//do something for success if you want. If your response is JSON:
response = $.parseJSON(data)
},
error: function(data) {
//do somtething for error if you want. If your response is JSON:
response = $.parseJSON(data)
}
});