HTML中的内容
............
几个问题:
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 是字符串,不会被 php 解析成 $_POST 数组
要这样
sendData = {pw : document.getElementByName(‘pw').value, email : document.getElementByName('emal'][0].value }
前端ajax 提交时用了post方式 ,后端PHP 用 if( $_GET['action']=="1") { ....} 来验证所以问题就来了。
修改后
<script> <br /> function submit(i) <br /> { <br /> var sendData=""; <br /> if(i=="1"){sendData={pw:getElementByName("pw").value,email:getElementByName("email").value};} <br /> $.ajax({ <br /> timeout:5000, <br /> type:"POST", <br /> url:"edit_server.php?action="+i, <br /> data:sendData, <br /> success:function(data) <br /> { <br /> alert(data); <br /> getData(1); <br /> } <br /> }); <br /> } <br /> </script>
后台:
if($_POST['action']=="1")
{
$pw = $_POST['pw'];
$email = $_POST['email'];
mysql_query("UPDATE basic_information SET pw = '$pw',email = '$email');
if(mysql_errno()){
echo mysql_error();
}else{
getData(1);
}
}
但依然无法运行,控制台提示ReferenceError: getElementByName is not defined
getElementsByName
改完后,数据依然没有传入
换种ajax方式,初始化后,在提交,发送参数,接收返回数据。
非常感谢诸位大神,已成功解决问题。
if(i=="1"){sendData={pw: document.getElementByName("pw").value,email: document.getElementByName("email").value};}