如何使用getJson将变量发送到php文件

时间:2015-06-09 13:45:52

标签: javascript php jquery ajax json

以下是包含" no"的javascript代码在datastring中,我想使用getJson将该数据字符串传递给data.php所以最后我可以将json作为响应。我的data.php代码正常工作但javascript代码无效,所以请帮助我。

Javascript代码

dataString = 'no='+ no; 

$.getJSON("data.php", dataString,function(response){

        console.log(response);
  });

php code

$no=$_POST['no'];

$headers = array(
'Content-Type: application/json',
);

$url = 'https://www.outpan.com/api/get-product.php?barcode='.$no.'&apikey=318c91a99b132a29dda536d63e7fb8b4';


$ch = curl_init();


curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_POST, false);

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);


curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );


curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);




 $result = curl_exec($ch);



curl_close($ch);

//$result_arr = json_decode($result, true);

echo result;

3 个答案:

答案 0 :(得分:1)

一种可能性是响应无效JSON(我不确定,因为您似乎已尝试打印json_decoded version)。
尝试使用在未收到有效JSON时调用的error来打印错误 -

$.getJSON("data.php", dataString,function(response){
    console.log(response)
}).error(function(jqXHR, textStatus, errorThrown){ 
    console.log(textStatus+" - "+errorThrown); 
}); 

如果记录了错误,请检查php中的curl响应并确保它是有效的json。

修改
这个编辑假设他的php响应是从评论中观察到的无效JSON。
看看你的PHP代码,你已经使用了这个 -

$headers = array(
'Content-Type: application/json',
);

试试这个 -

header('Content-Type: application/json');

编辑2
再次查看您的PHP代码,打印时似乎出现错误 -

echo result;

应该是 -

echo $result;

答案 1 :(得分:0)

使用$ _GET在您的PHP代码中,您现在使用$ _POST

答案 2 :(得分:0)

你应该在你的PHP代码中$ _GET或更改这样的代码:

$.getJSON("data.php", { no: no },function(response){

    console.log(response);
  });

在php中使用,

$no=$_REQUEST['no'];