2017-03-29 11 views
-1

おはよう。XMLHttpRequestを使用してJavaScriptからPHPにデータを送信する

私は1つのPHPファイル(manage.php)から別の(view.php)ファイルに簡単なデータを送信しようとしています。

フォームからデータを送信できません。JSスクリプトを使用して送信します。 $ _POSTを使用してview.phpで

var read = function(id) { 
 
    xmlhttp = new XMLHttpRequest(); 
 

 
    xmlhttp.open("POST", "view.php", true); 
 
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
 
    xmlhttp.send("id=" + id); 
 
}

は、[ "idは"]インデックス "ID" が定義されていないというエラーが発生します。ここに私の試みです。

データを送信する正しい方法は何ですか?ありがとうございました。

+0

だけjqueryの例えばhttps://api.jquery.com/jquery.post/ –

+0

使用して、あなたが人生を困難にしたいワットのためXhhtpとAjaxを混ぜてはいけません。 –

+0

@Breakermind jQueryは、AJAXリクエストを行うだけで済みます。 – doublesharp

答えて

-1
 <!DOCTYPE html> 
    <html> 
    <head> 
     <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
    </head> 
    <body> 
     <form id="formoid" title="" method="post"> 
      <div> 
       <label class="title">First Name</label> 
       <input type="text" id="name" name="name" > 
      </div> 
      <div> 
       <label class="title">Name</label> 
       <input type="text" id="name2" name="name2" > 
      </div> 
      <div> 
       <input type="submit" id="submitButton" name="submitButton" value="Submit"> 
      </div> 
    </form> 
    <script type='text/javascript'> 
     /* attach a submit handler to the form */ 
     $("#formoid").submit(function(event) { 

      /* stop form from submitting normally */ 
      event.preventDefault(); 

      $.ajax({ 
    type: 'POST', 
    data: id, 
    url: 'PATH_TO_VIEW.PHP',       
    success: function(data) { 
     //do something 
    }, 
    error: function(data){ 
     console.log('Something went wrong.'); 
    } 
}); 
     }); 
    </script> 

    </body> 
    </html> 

ここで、ajaxのデータは、多数収集できます。シリアル化された新しいFormData(フォーム)を使用して、すぐに2つの名前を付けます。

+0

これは、 'XMLHttpRequest'に関する質問に関係のないjQueryを使用しています。 – doublesharp

0

入力が完了していません。だから私はあなたが従うことができる以下の完全な例を行った。私はreadid(id)という名前の関数を、あなたが望むのと同じことをしました。次に、必要に応じてhtmlからその関数を呼び出します。

<!doctype html> 
<html lang="fr"> 
<head> 
<meta charset="iso-8859-1"> 
<title>Untitled Document</title> 
<script type="text/javascript" charset="iso-8859-1"> 
function readid(id){ 
"use strict"; 
console.log("id=", id) 
var xmlhttp = new XMLHttpRequest(); 
xmlhttp.open("POST", "/cgi-bin/view.php", true); 
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xmlhttp.onreadystatechange = function() { 
    if (this.readyState === 4 || this.status === 200){ 
     console.log(this.responseText); // echo from php 
    }  
}; 
xmlhttp.send("id=" + id); 
} 
</script> 
</head> 
<body> 
<p>This is a test</p> 
<input type="button" name="Submit" value="Submit" id="formsubmit" onClick="readid(id)"> 
</body> 
</html> 

view.php

<?php 
$logFile = "view.log"; 
$id = $_POST['id']; 
file_put_contents($logFile, $id); 
echo $id; 
?> 
関連する問題