2

我有一个接收 JSON 对象 Prueba 的 Web 服务

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。对象值也为空。

我已经用 SOAP UI 测试了 web 服务没有问题,但我找不到为什么它不能与 JQuery 一起使用。

4

2 回答 2

0

您正在通过在对象周围使用单引号将对象作为字符串。这就是你没有得到对象价值的原因

于 2013-05-02T06:05:18.300 回答
0

您试图发送一个字符串而不是一个对象。这就是为什么在服务器错误时您检索到任何内容但不是对象的原因。尝试替换这个:

data:'{"valor1":"a","valor2":"b"}',

对此:

data:{"valor1":"a","valor2":"b"},
于 2013-05-01T19:29:43.673 回答