Вызовы JSON не работают после переключения типа на POST вместо GET
Я использую фреймворк JayRock с ASP.NET, чтобы вернуть JSON, потребляемый через javascript. Все работало нормально, пока я не изменил вызов $.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));
}
})
У кого-нибудь есть идеи? Заранее спасибо.
2 ответа
Решение
Вот определение того, что следует делать:
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)
}
});
Вы должны добавить свои параметры в качестве данных в значениях конфигурации...
$.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));
}
})
просто замените содержимое данных вашими фактическими значениями. В существующем состоянии вы публикуете на странице, но не отправляете сообщения.