我有一个Web服务,它返回了一个JSON对象Prueba
public class Prueba
{
public string valor1 { get; set; }
public string valor2 { get; set; }
}
public JsonResult Pruebas(Prueba item)
{
string metodo = Request.HttpMethod;
return Json("error", JsonRequestBehavior.AllowGet);
}
我想用JQuery调用Web服务:
$.ajax({
type: 'Post',
dataType: 'json',
url: 'http://localhost:24780/Api/Pruebas',
data:'{"valor1":"a","valor2":"b"}',
contentType: 'application/json; charset=utf-8',
success: function (data) {
console.debug(data);
},
error: function (data) {
console.debug(data);
}
});
问题是Request.method取值OPTION而不是POST。对象值也是null。
我已经使用SOAP UI测试了Web服务而没有遇到任何问题,但我找不到为什么它不能与JQuery一起使用。
答案 0 :(得分:0)
您尝试发送字符串而不是对象。这就是为什么在服务器错误上你检索任何东西而不是一个对象。尝试替换它:
data:'{"valor1":"a","valor2":"b"}',
到此:
data:{"valor1":"a","valor2":"b"},
答案 1 :(得分:0)
通过使用单引号将对象设为字符串。 这就是你没有获得对象价值的原因