Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么不';我的JSON值是否出现在我的WCF操作中?_C#_Wcf - Fatal编程技术网

C# 为什么不';我的JSON值是否出现在我的WCF操作中?

C# 为什么不';我的JSON值是否出现在我的WCF操作中?,c#,wcf,C#,Wcf,从JQuery代码获取WCF操作的值时遇到问题。我有一个具有以下声明的WCF操作: [OperationContract] [WebGet(BodyStyle = WebMessageBodyStyle.WrappedRequest, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] public ResultList<MyResult> FindResults(string

从JQuery代码获取WCF操作的值时遇到问题。我有一个具有以下声明的WCF操作:

[OperationContract]
[WebGet(BodyStyle = WebMessageBodyStyle.WrappedRequest, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
public ResultList<MyResult> FindResults(string latitude, string longitude)
{
  // latitude and longitude are always "0" here.
}
当我查看Fiddler时,我收到了预期的200状态码。请求标头显示:

GET /services/myService.svc/FindResults?{"latitude":33.041599,"longitude":-119.298798}

我做错了什么?为什么操作代码中纬度和经度始终为0?谢谢大家!

如果它们是字符串,为什么json不加引号

"latitude":33.041599,"longitude":-119.298798
相对于

"latitude":"33.041599","longitude":"-119.298798"

您可以将json更改为将值括在引号中,或者将操作更改为接受
double
s?

GET
请求,这些请求需要
?Param=Value

您可以将
OperationContract
切换到
WebInvoke
,将JS服务调用切换到
POST


或者,如果您想继续使用
GET
,您可以删除
stringify
调用,jQuery应该注意正确设置
GET
参数。

当我将值括在引号中时,操作代码中的纬度和经度参数将变为null。
"latitude":"33.041599","longitude":"-119.298798"