簡體   English   中英

使用ajax從php獲取數據

[英]get data from php using ajax

我有以下ajax函數:

var data=event.target.result;
var fileName=encodeURIComponent('audio_recording_' + new Date().getMinutes() + '.wav');
$.ajax({
    type: 'POST',
    url: 'readFile.php',
    data: {"fileName":fileName,"data":data},
    success: function(data){
        console.log(data);
    }
});

服務器端代碼

<?php
$fileName=$_POST["fileName"];
$data=$_POST["data"];
$dh = opendir('upload/');
$contents = file_get_contents('C:/wamp/www/JSSoundRecorder/upload/'.$fileName);
// echo $contents;
echo $fileName;
echo $data;

在console.log(data)中,我正在獲取正確的結果(文件名和數據),我想要的是讓每個信息單獨供以后使用。 那是成功函數中變量中的fileName以及成功函數中另一個變量中的數據,以便我以后可以在程序中使用它們。我認為我應該使用localstorage和json.stringify嗎?那是正確的。如果是這樣,您能幫我在這里使用本地存儲嗎? 先感謝您

嘗試這個

var data=event.target.result;
var fileName=encodeURIComponent('audio_recording_' + new Date().getMinutes() + '.wav');
$.ajax({
   type: 'POST',
   url: 'readFile.php',
   data: {"fileName":fileName,"data":data},
   dataType: 'json', //<==== Add this
   success: function(data){
     console.log(data.filename);
     console.log(data.data);
   }

});

而您的php應該是:

<?php
   $fileName=$_POST["fileName"];
   $data=$_POST["data"];
   $dh = opendir('upload/');
   $contents = file_get_contents('C:/wamp/www/JSSoundRecorder/upload/'.$fileName);
   $data = array('filename'=>$filename, 'data'=>$data); 
   echo json_encode($data);
?>

您可以將信息放入對象或關聯數組中,然后使用json_encode將對象轉換為序列化字符串。 然后,您可以解析Javascript中的JSON字符串:

在php中,如果您有對象或關聯數組,您將編寫:

echo json_encode($yourObjectOrArray);

假設數據是您在成功函數中收到的數據:

var data = '{"fileName":"yourFileName","data": "yourData", "moreData" : "moreData"}';
var obj = JSON.parse(json);

嘗試

PHP

$result = array("filename" => $fileName, "data" => $data);
echo json_encode($result);

jQuery的

success: function(response){
    console.log(response);
    // var myObject = $.parseJSON(response)
    // here you have an object with all values now
} 

需要myObject,具體取決於您是否在ajax中使用dataType: "JSON"

您應該在javascript部分中使用JSON,以將其作為對象。

您可以使用var jsonData = JSON.parse(data.data)

在服務器上,您應該使用相應的PHP函數將其編碼為json:json_encode(YOUR_ARRAY)

此處的更多信息: https : //developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/JSON/parse

這里有一個很好的例子: http : //www.caveofprogramming.com/frontpage/articles/php/php-json-an-example-javascript-json-client-with-php-server/

暫無
暫無

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

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