C# json asp.net Web服务调用错误
我正试图将一些带有ajax请求的信息发布到我用一些json数据编写的Web服务中 下面是接收它的方法使用的C#参数C# json asp.net Web服务调用错误,c#,javascript,ajax,web-services,json,C#,Javascript,Ajax,Web Services,Json,我正试图将一些带有ajax请求的信息发布到我用一些json数据编写的Web服务中 下面是接收它的方法使用的C#参数 public bool AdvancedIWant(string WantTitle, int WantCategory, string WantBlogID, float WantPrice, string WantComments) 当我直接进入asmx控件并输入值时,它工作得很好,所以我猜它与我的json格式有关。。。 我用firebug查看ajax标题,这是我在博
public bool AdvancedIWant(string WantTitle,
int WantCategory,
string WantBlogID,
float WantPrice,
string WantComments)
当我直接进入asmx控件并输入值时,它工作得很好,所以我猜它与我的json格式有关。。。
我用firebug查看ajax标题,这是我在博文中看到的
JSON WantComments“sdfa”源
{“WantTitle”:“SDF”},
{“WantCategory”:1},{“WantBlog”:
“FCA184D9-9F50-473F-922D-04E0EE004AB8”,
{“WantPrice”:5.55},{“WantComments”:
“sdfa”}
这是我们的回应
{“Message”:“无效的JSON原语:
{\'WantCategory\':1},{\'WantBlog\':
\“FCA184D9-9F50-473F-922D-04E0EE004AB8\”,
{\'WantPrice\':5.55},
{“WantComments\”:
\“sdfa\”}.,“StackTrace”:“在
System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(字符串
输入,Int32 depthLimit,
JavaScriptSerializer序列化程序)\r\n在 System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer 序列化程序,字符串输入,类型, Int32 depthLimit)\r\n位于 System.Web.Script.Serialization.JavaScriptSerializer.Deserialize[T](字符串 输入)\r\n位于 System.Web.Script.Services.RestHandler.GetRawParamsFromPostRequest(HttpContext 上下文,JavaScriptSerializer 序列化程序)\r\n位于 System.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData methodData,HttpContext上下文)\r\n
在 System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext 上下文,WebServiceMethodData methodData)”,“ExceptionType”:“System.ArgumentException”}
我猜我的json格式是无效的??我不确定我可能只是在凌晨2点错过了一些东西。你发到服务器上的帖子不应该是这样的吗:
{"WantTitle": "sdfs", "WantCategory": 1, "WantBlog": "FCA184D9-9F50-473F-922D-04E0EE004AB8", "WantPrice": 5.55, "WantComments": "sdfa"}
将上述内容与您的JSON进行比较。我觉得你用错误的格式构建了JSON
进一步注意
WantBlog
,在服务中,您的参数显示WantBlogId
,这完全解决了问题,非常感谢!我现在可以睡觉了:D