【问题标题】:php curl web service, (using json decode)php curl web服务,(使用json解码)
【发布时间】:2016-09-05 10:12:40
【问题描述】:

我是 Web 服务的新手,我已经成功创建了一个 Web 服务,现在我想使用我创建的 Web 服务,但是在使用 json 解码后我得到一个空值,我已经执行了 json_last_error(),并且我得到 0,我想这意味着没有错误,有人可以向我解释为什么我的请求 Web 服务正在运行得到一个空值。下面是我使用网络服务的代码。

<?php  if(isset($_POST['submit'])){             
$name = isset($_POST['name']);  
$url ="http://localhost/htdocs/my_service/index_rest.php/$name";     // send request resource 
$c = curl_init($url);  //get response   
curl_setopt($c,CURLOPT_RETURNTRANSFER,true); 
//curl_setopt($c,CURLOPT_POST,$data);  
$response = curl_exec($c); 
echo $response;  //decode response 
$result = json_decode($response); 
echo "</br>Data =  : ".$result->data."</br>";  //equals 0, meaning error is none or no json error 
echo json_last_error();  
}  
?>

【问题讨论】:

  • 回显响应并检查它是否正确格式化输出,它不应包含任何额外的空格,还要验证它是否被重定向
  • var_dump($response); 输出是什么?

标签: php json web-services curl


【解决方案1】:
$name = isset($_POST['name']);  

这是你的本意吗? 因为您不只是存储 php isset() 语言构造的返回值。 也许你的意思是?

    if(isset($_POST['name'])){
       $name = $_POST['name'];
    }

【讨论】:

  • 您好,非常感谢您的支持,我几天前就得到了答复。
  • 我的意思是 ..->($url)。你传递给 curl_init();例如 http:localhost/htdocs/folders/.../consumer.php/$fname=$fname;或者...添加相应提供者的ws提供者的更多参数;在这种情况下,名字是获取图书价格的参数。
猜你喜欢
  • 1970-01-01
  • 2016-07-19
  • 2018-07-24
  • 2011-05-24
  • 2011-12-01
  • 1970-01-01
  • 2011-04-22
  • 2018-12-28
  • 1970-01-01
相关资源
最近更新 更多