初学script+ajax 数据提交问题

mztttt 2015-08-10 04:15:35
HTML中的内容
............
<div>密码:
<input type="text" name="pw" value="<?php echo $arr['pw'];?>">
</div>
<div>邮箱:
<input type="text" name="email" size="40" value="<?php echo $arr['email'];?>">
</div>
............


<script>
function submit(i)
{
var sendData="";
if(i=="1"){sendData='{"action":"'+i+'","pw":'+getElementByName+',"email":'+getElementByName+':}';}
$.ajax({
timeout:5000,
type:"POST",
url:"edit_server.php",
data:sendData,
success:function(data)
{
getData(1); //这是一个函数,用来打开一个页面。
}
});
}
</script>



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);
}
}
...全文
151 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mztttt 2015-08-12
  • 打赏
  • 举报
回复
非常感谢诸位大神,已成功解决问题。 if(i=="1"){sendData={pw:document.getElementByName("pw").value,email:document.getElementByName("email").value};}
mztttt 2015-08-11
  • 打赏
  • 举报
回复
改完后,数据依然没有传入
xuzuning 2015-08-11
  • 打赏
  • 举报
回复
getElementsByName
mztttt 2015-08-11
  • 打赏
  • 举报
回复
修改后 <script> function submit(i) { var sendData=""; if(i=="1"){sendData={pw:getElementByName("pw").value,email:getElementByName("email").value};} $.ajax({ timeout:5000, type:"POST", url:"edit_server.php?action="+i, data:sendData, success:function(data) { alert(data); getData(1); } }); } </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
wblf386 2015-08-11
  • 打赏
  • 举报
回复
换种ajax方式,初始化后,在提交,发送参数,接收返回数据。
二尸兄 2015-08-10
  • 打赏
  • 举报
回复
前端ajax 提交时用了post方式 ,后端PHP 用 if($_GET['action']=="1") { ....} 来验证所以问题就来了。
xuzuning 2015-08-10
  • 打赏
  • 举报
回复
几个问题: 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 }

21,873

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧