为啥 Jayrock(.NET JSON-RPC 框架)不喜欢我的请求?
Posted
技术标签:
【中文标题】为啥 Jayrock(.NET JSON-RPC 框架)不喜欢我的请求?【英文标题】:Why doesn't Jayrock (.NET JSON-RPC Framework) like my request?为什么 Jayrock(.NET JSON-RPC 框架)不喜欢我的请求? 【发布时间】:2009-07-02 20:35:46 【问题描述】:您好,关于 Jayrock 的快速问题...我有一个 Jayrock JSON-RPC Web 服务,它通常可以正常工作。但是,当我尝试发布到我的 jqGrid editUrl 时,Jayrock 会抛出一个错误。 Web 服务在其他情况下也能正常工作。
有人知道为什么 Jayrock 不喜欢下面的请求吗?也许是一种配置 Jayrock 以接受此请求的方法?
请求:
发布 /StoryManager/StoryManager.ashx/setPageItemRoles HTTP/1.1
主机:本地主机:2064
用户代理:Mozilla/5.0(Windows;U; 视窗 NT 5.1; zh-CN;房车:1.9.1) Gecko/20090624 Firefox/3.5 (.NET CLR 3.5.30729)
接受:*/*
接受语言:en-us,en;q=0.5
接受编码:gzip,deflate
接受字符集: ISO-8859-1,utf-8;q=0.7,*;q=0.7
保活:300
连接:保持活动
内容类型: 应用程序/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
推荐人: http://localhost:2064/StoryManager/PageItemDetail.aspx
内容长度:183
饼干: ASP.NET_SessionId=uycy1qmowzzqhiac1kg3e455
编译指示:无缓存
缓存控制:无缓存
title=叙述&assignedto=dfghdfgh&assigned=2009-06-25T14%3A52%3A24.0868931-05%3A00&due=2009-08-02T14%3A52%3A24.0868931-05%3A00&completed=2009-07A24T14%3A52%3 .0868931-05%3A00&id=3
回应:
"id":null,"error":"name":"JSONRPCError","message":"找到 对象所在的字符串 预期。","stackTrace":" 在 Jayrock.Json.JsonReader.ReadToken(JsonTokenClass 令牌)在 c:\Projects\Public\Jayrock\rel\rel-0.9.8316\src\Jayrock.Json\Json\JsonReader.cs:line 142\r\n 在 Jayrock.JsonRpc.JsonRpcDispatcher.ParseRequest(TextReader 输入)在 c:\Projects\Public\Jayrock\rel\rel-0.9.8316\src\Jayrock\JsonRpc\JsonRpcDispatcher.cs:line 271\r\n 在 Jayrock.JsonRpc.JsonRpcDispatcher.Process(TextReader 输入,TextWriter 输出)在 c:\Projects\Public\Jayrock\rel\rel-0.9.8316\src\Jayrock\JsonRpc\JsonRpcDispatcher.cs:line 127","错误":["name":"JsonException","message":"找到 期望 Object 的字符串。"]
【问题讨论】:
【参考方案1】:因为您发送的 application/x-www-form-urlencoded 请求带有“类似表单”的发布数据,而不是带有正确 json 对象的 application/json。
【讨论】:
谢谢。我想通了,但忘了在这里发布答案;)以上是关于为啥 Jayrock(.NET JSON-RPC 框架)不喜欢我的请求?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 windows phone 7 应用程序中使用 JSON-RPC(Web 服务)?
没有 ASP.NET 的 C# JSON-RPC 网络服务器