2017-12-21 12 views
0

JavaScriptからデータを保存し、別の( "saveData.php")PHPファイルを使用してファイルに書き込むというAjaxリクエストがあります。同じAjaxリクエスト内で複数のJavaScript変数/文字列をPOSTできるかどうかを知りたい。例えばAjaxリクエストからPHPに複数の値を投稿する

、私は現在、この持っている:

function saveData(){ //sends an AJAX request to saveData.php 
$.ajax({ 
    type: "POST", 
    url: "saveData.php", 
    dataType: "text/plain", 
    ContentType: "charset=utf-8", 
    data: {"data": dataString}, 
    }) 
} 

をそして、これは、このコードのように私のPHPファイルを介して素晴らしい作品:

$data = $_POST["data"]; 
$theFile = fopen("Data/" . FileNameHere . ".txt", "a+"); 

// Save data into a file based on their username 
fwrite($theFile, $data); 
fclose($theFile); 

しかし、私は彼らに基づいてファイルを保存したいですuserIDは、JavaScript変数です。

は、私はこのような何かを行うことができます:

function saveData(){ //sends an AJAX request to saveData.php 
$.ajax({ 
    type: "POST", 
    url: "saveData.php", 
    dataType: "text/plain", 
    ContentType: "charset=utf-8", 
    data: {"data": dataString}, 
    data1: {"data1": userID}, <-----new line with JS variable 'userID' 
    }) 
} 

そしてPHPファイルを次のように:それはできるだけ多くの特性を持つことができますので、

// Prepare line of data to save. 
$data = $_POST["data"]; 
$userID = $_POST["data1"];  <--------New code to POST "data1" from Ajax 
$theFile = fopen("Data/" . $userID . ".txt", "a+"); 

// Save data into a file based on their username 
fwrite($theFile, $data); 
fclose($theFile); 
+3

です。 https://www.w3schools.com/js/js_json_intro.asp(またはその他のチュートリアル)をお読みください –

+0

その他の参考文献:https://stackoverflow.com/questions/10078085/how-to-send-multiple-data -with-ajax-jquery – IncredibleHat

答えて

6

はい、あなたは、あなたがJSONオブジェクトを渡していることができますあなたは好きです。

詳しくは、サーバー側で複数のデータを送信する方法via ajaxを参照してください。このように、この

function saveData(){ //sends an AJAX request to saveData.php 
$.ajax({ 
    type: "POST", 
    url: "saveData.php", 
    dataType: "text/plain", 
    ContentType: "charset=utf-8", 
    data: { 
      "data": dataString, 
      "data2":val2, 
      "data3":val3, 
      "data4":val4 
      }, 
    }) 
} 

そしてPHPファイルを試してみてください :それはJSON

$data = $_POST["data"]; 
$userID = $_POST["data2"]; 
$theFile = fopen("Data/" . $userID . ".txt", "a+"); 

// Save data into a file based on their username 
fwrite($theFile, $data); 
fclose($theFile); 
+0

これはうまくいくようです!ありがとう! :) –

+1

私はあなたを助けてうれしいです。 –

+0

あなたの答えに少し追加することに異議を唱えていないことを願っています。 – RiggsFolly

関連する問題