【发布时间】:2011-05-17 04:20:32
【问题描述】:
我在使用 PHP 连接到 ASP.Net Web 服务时遇到问题。
已知该网络服务是可操作的,因为当我们使用来自同一域的 Javascript 进行连接时,它会返回数据,但是当我尝试使用 PHP 进行连接时,我收到以下错误:
HTTP/1.1 500 内部服务器错误内容类型:应用程序/json; charset=utf-8 服务器:Microsoft-IIS/7.5 jsonerror:true X-Powered-By:ASP.NET 日期:2011 年 5 月 17 日星期二 03:40:17 GMT 连接:关闭 内容长度:819 {“消息”:“无效的 JSON 原语:生日。”,“StackTrace”:“在 System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject()\ [等等]
Content-Type 在 PHP 中设置为“application/json; charset=utf-8”,我们正在尝试使用 PHP 中的以下 POST 数据发送一个名为“birthday”的参数:
$post_data = 数组( '生日' => '无' );我认为 ASP Web 服务由于某种原因无法解析“生日”参数,但我不确定为什么。
在调用 Web 服务之前,我是否需要将 POST 数据显式编码为来自 PHP 的 JSON?
谢谢。
【问题讨论】:
-
您可以尝试使用
Fiddler或WireShark比较工作代码和非工作代码,观察通过网络传输的数据,看看是否有任何差异。 -
是javascript POSTing 还是使用get?你能提供有效的javascript吗
标签: php asp.net web-services json