从 PHP 连接到 ASP.Net Web 服务并以 JSON 形式检索数据
我在使用 PHP 连接到 ASP.Net Web 服务时遇到问题。
已知 Web 服务是可操作的,因为当我们使用来自同一域的 Javascript 连接时它会返回数据,但是当我尝试使用 PHP 进行连接时,我收到以下错误:
HTTP/1.1 500 Internal Server Error Content-Type: application/json; charset=utf-8 Server: Microsoft-IIS/7.5 jsonerror: true X-Powered-By: ASP.NET Date: Tue, 17 May 2011 03:40:17 GMT Connection: close Content-Length: 819 {"Message":"Invalid JSON primitive: birthday.","StackTrace":" at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject()\ [etc]
内容类型设置为“application/json; charset” = utf-8”在 PHP 中,我们正在尝试使用 PHP 中的以下 POST 数据发送一个名为“生日”的参数:
$post_data = array( 'birthday' => 'none' );
我认为 ASP Web 服务由于某种原因无法解析“生日”参数,但我不知道为什么。
在调用 Web 服务之前,我是否需要将 PHP 中的 POST 数据显式编码为 JSON?
谢谢。
I'm having issues connecting to an ASP.Net web service using PHP.
The web service is known to be operational, since it's returning data when we connect using Javascript from the same domain, but when I attempt to connect using PHP I receive the following error:
HTTP/1.1 500 Internal Server Error Content-Type: application/json; charset=utf-8 Server: Microsoft-IIS/7.5 jsonerror: true X-Powered-By: ASP.NET Date: Tue, 17 May 2011 03:40:17 GMT Connection: close Content-Length: 819 {"Message":"Invalid JSON primitive: birthday.","StackTrace":" at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject()\ [etc]
The Content-Type is set to "application/json; charset=utf-8" in PHP, and we are trying to send a parameter called "birthday" using the following POST data in PHP:
$post_data = array( 'birthday' => 'none' );
I think the ASP web service is not able to parse the 'birthday' parameter for some reason, but I'm not sure why.
Do I need to explicitly encode the POST data as JSON from PHP before calling the web service?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可能此 Web 服务采用 Json 格式的发布数据。如果是,那么您应该使用
json_encode 来了解详细信息
May be this web service takes the post data in Json format. If it is then you should use
for details json_encode