簡體   English   中英

如何使用getJson將變量發送到php文件

[英]How to use getJson to send variable to php file

這是在數據字符串中具有“ no”的javascript代碼,我想使用getJson將該數據字符串傳遞給data.php,以便最終我可以得到json作為響應。 我的data.php代碼正常工作,但是javascript代碼無效,因此請幫助我。

JavaScript代碼

dataString = 'no='+ no; 

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

        console.log(response);
  });

PHP代碼

$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;

一種可能是響應不是有效的JSON(我不確定,因為您似乎已嘗試打印json_decoded version )。
嘗試使用打印出的錯誤error沒有接收到有效的JSON時調用-

$.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;

使用$ _GET在您的php代碼中,您現在正在使用$ _POST

您應該在PHP代碼中使用$ _GET或更改代碼,如下所示:

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

    console.log(response);
  });

在php中使用

$no=$_REQUEST['no'];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM