使用ajax

时间:2017-01-31 19:45:34

标签: javascript php ajax

首先,我知道在stackoverflow上有关于此的多个主题,我阅读了大部分内容,但我仍然无法弄清楚为什么以下内容无效。

所以我有一个这样的表格:

echo "<td> <form action=\"admin.php\" method=\"GET\" onsubmit=\" modifyPassword();\">

这是modifyPassword函数:

function modifyPassword(){
   var newpw=prompt("Enter a new password");
   if(newpw !== null){
   $.ajax({
           type: "GET",
           url: "admin.php",
           data: newpw,
           success: function(data)
            {
              console.log(data);
            }
            });
            }}

当表单实际提交时,我希望从输入的内容中获取值,如下所示:

echo $_GET['data'];

这都在同一个文件中。 $ _GET [&#39;数据&#39;]的输出没有显示任何内容。

有人能告诉我我做错了吗?

//编辑,更多代码: 我使用多个表单,所以这里是处理表单的代码:

}elseif (isset($_GET['Modify'])){


        echo $_GET['data'];

形成自己:

echo "<td> <form action=\"admin.php\" method=\"GET\" onsubmit=\" modifyPassword();\">
                         <input type='hidden' name='counter' value=\"$count\"/> 
                         <input type=\"submit\" value=\"Modify\" name=\"Modify\"/>

提供的功能:

<script type="text/javascript">
                        function modifyPassword(){

                            var newpw=prompt("Enter a new password");
                            if(newpw !== null){
                                $.ajax({
                                    type: "GET",
                                    url: "admin.php",
                                    data: {data: newpw}, // passing a key/value pair
                                    success: function(data)
                                    {
                                        console.log(data);
                                    }
                                });
                            }}
                        </script>

1 个答案:

答案 0 :(得分:1)

data: newpw,应为data: {data: newpw},这将导致$_GET['data']被填充。在这种情况下,数据&#39;成为关键,而&#39; newpw&#39;是值。

function modifyPassword(){
   var newpw=prompt("Enter a new password");
   if(newpw !== null){
       $.ajax({
           type: "GET",
           url: "admin.php",
           data: {data: newpw}, // passing a key/value pair
           success: function(data)
            {
              console.log(data);
            }
       });
   }}

我认为你不应该使用相同名称的这么多变量 - 只是为了在错误捕获过程中减少混乱。