我已经将数据传递给ajax进行curl但是无法解析我在ajax中调用我的ajax代码的json数据。
$.ajax({
url: 'http://localhost/curl_call.php',
type:"POST",
data:
{
url_path:"http://localhost/login/",
data:"name=bddd&password=abc",
},
crossDomain: true,
processData: true,
success:function(response)
{
res_par=JSON.parse(response);
alert(res_par["success"]);
}
)};
curl_call.php:
function curl_load($url,$post_data){
curl_setopt($ch=curl_init(), CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
if((isset($_POST["url_path"]))&&($_POST["url_path"]=="http://localhost/api/login/"))
{
echo json_encode(json_decode(curl_load($_POST["url_path"],$_POST["data"])));
}
无法解析返回数据的原因?
答案 0 :(得分:0)
似乎您需要在脚本中进行一些调试。请按顺序尝试以下操作:
首先,为什么json_decode
和json_encode
字符串相同?
然后,检查您的回复是否为有效的JSON
字符串。您可以在此处尝试:http://json.parser.online.fr/
您确定{j}上的response
是有效的属性吗?
尝试在curl_call.php
的顶部添加此内容。
header('Content-type:application / json; charset = utf-8');
并替换以下JS的success
函数,然后检查浏览器的控制台:
成功:功能(响应){ 的console.log(响应); }