欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

初学script+ajax 数据提交问题

程序员文章站 2022-05-08 10:47:19
...
HTML中的内容
............
密码:


邮箱:


............






edit_server.php中的内容:

require_once "functions.php";
connectDb();
if($_GET['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);
}
}


回复讨论(解决方案)

几个问题:
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") { ....} 来验证所以问题就来了。

修改后





后台:

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};}