将JSON数据发布到WCF Rest Service

时间:2016-07-15 18:02:36

标签: ajax rest http-post

我知道关于此问题有很多问题,但这些建议都没有对我有用。

这是我的代码:

var restService = "http://wcfrestservice:8004/RADPOCService/WebApp1";
$.ajax({
    url: restService,
    type: "POST",
    data: { PhoneNumber: y },
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    success: 
      function (data) {
        window.open(data.Url, '_blank');
      }
});

Fiddler表示我的请求是如此(编辑):

POST http://localhost:8004/RADPOCService/WebApp1 HTTP/1.1
Host: localhost:8004
Connection: keep-alive
Content-Length: 22
Accept: application/json, text/javascript; q=0.01
Origin: http://localhost:8000
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
Content-Type: application/json; charset=UTF-8
Referer: http://localhost:8000/Default.aspx
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8
Requestor: Me

PhoneNumber=1234567890

我希望有效载荷看起来像这样:

{ "PhoneNumber": "1234567890"}

当我在Fiddler Composer选项卡中设置上述有效负载时,服务按预期工作。我做错了什么?

1 个答案:

答案 0 :(得分:0)

我讨厌在发布问题后这么快就这样做,但答案是对发送给服务的数据使用JSON.stringify API。因此,上面应该在ajax调用中为“data”提供以下代码:data: JSON.stringify({ PhoneNumber: y })