ホームページ >バックエンド開発 >PHPチュートリアル >初心者向けスクリプト+Ajaxデータ提出問題
HTML中的内容
............
dc6dce4a544fdca2df29d5ac0ea9906b密码:
9cb97cf96482d34ca74e852b8c323d31">
16b28748ea4df4d9c2150843fecfba68
dc6dce4a544fdca2df29d5ac0ea9906b邮箱:
7c92d48f67611c885666d5cad767ef57">
16b28748ea4df4d9c2150843fecfba68
...
4e07eaec52b67b6abe4024604b22f1f1
関数 submit(i)
{
var sendData="";
if(i=="1"){sendData=' {"action":"'+i+'","pw":'+getElementByName+',"email":'+getElementByName+':}';}
$.ajax({
timeout: 5000,
",
url : "edit_server.php"、
getData(1); // これはページを開くために使用される関数です
2cacc6d41bbb37262a98f745aa00fbf0 edit_server.php の内容:
require_once "関数。 php";
connectDb();
if($_GET['action']=="1")
{
$pw = $_POST['pw'];
$email = $_POST['email'];
mysql_query("UPDATE 基本情報 SET pw = '$pw',email = '$email');
if( mysql_errno()){ echo mysql_ Solution)
いくつかの質問:
1. edit_server.php $_GET を確認するには['action']=="1"
ただし、Ajax URL (url:"edit_server.php",) にはパラメータがありません
これを行うには、 url:"edit_server.php?action=" + i,
2 , sendData='{"action":"'+i+'","pw":'+getElementByName+',"email":'+getElementByName+':}'
このように代入した後、sendData は文字列なので解析されませんby php $_POST 配列に入れます
このようになります
sendData = {pw : document.getElementByName(‘pw').value, email : document.getElementByName('emal'][0].value }
修正後
3f1c4e4b6b16bbbd69b2ee476dc4f83a
関数 submit(i)
{
var sendData="";
if(i=="1"){sendData={pw:getElementByName("pw").value,email:getElementByName("email").value};}
$.ajax({
タイムアウト:5000,
type:"POST",
url:"edit_server.php?action="+i,
data:sendData,
success:function(data)
{
アラート(データ);
getData(1) } );
}
2cacc6d41bbb37262a98f745aa00fbf0
後台:
if($_POST['action']=="1")
{
$pw = $_POST['pw'];
$email = $_POST['email'];
mysql_query("UPDATE 基本情報 SET pw = '$pw',email = '$email');
if(mysql_errno()){
echo mysql_error();
}else{ getData(1)
}
}
但依然但依然、控制台提示控制台参照エラー:getelementbynameは定義されていません。
非常に感心しています、問題の解決に成功しました。