0

我是 jQuery 和 MySQL 插入的新手。我的目标是在 MySQL 中插入 Phonegap 应用程序数据,但不幸的是我很难执行。所以我现在开始通过 PHP 插入基本的 jQuery-AJAX,但它仍然无法正常工作。有人能帮我吗?谢谢你。

这是我的testjs.html文件

<html>
<head>

   <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
   <script type="text/javascript">
          $(document).ready(function(){
                $("#button").click(function(){

                      var name=$("#name").val();
                      var message=$("#message").val();

                      $.ajax({
                          type:"post",
                          url:"process.php",
                          data:"name="+name+"&message="+message,
                          success:function(data){
                             $("#info").html(data);
                          }

                      });

                });
           });
   </script>
 </head>

 <body>
      <form id = "commentform"> 
           name : <input type="text" name="name" id="name"/>
           </br>
           message : <input type="text" name="message" id="message" />
           </br>
           <input type = "submit" id = "button" value="Send Comment">

           <div id="info" />   <span id="msg"></span>              
      </form>
 </body>
 </html>

这是我的process.php文件

<?php
mysql_connect("localhost","root","");
mysql_select_db("comments");

$name=$_POST["name"];
$message=$_POST["message"];

$query=mysql_query("INSERT INTO comment2 (name,message) values('$name','$message') ");

if($query){
    echo "Your comment has been sent";
}
else{
    echo "Error in sending your comment";
}
?>

我不知道我错在哪里,因为当我在浏览器中运行 testjs.html 时,我没有得到任何结果。即使这条消息“您的评论已发送”也没有显示,如果我单独运行我的 process.php 文件,它就可以工作。当然,这些部分存在问题,因为

$name=$_POST["name"];
$message=$_POST["message"];

我手动运行它而不从 HTML 文件中获取值。我下载了自己的 jquery.js 并将其作为源代码,但仍然无法正常工作。我所有的文件都在我的 xampp/htdocs 下的一个文件夹中。谢谢你。

4

5 回答 5

0

尝试改变

<input type = "submit" id = "button" value="Send Comment">

<input type = "button" id = "button" value="Send Comment">
于 2013-06-06T08:42:38.370 回答
0
$("#button").click(function() {

      var name=$("#name").val();
      var message=$("#message").val();

      $.ajax({
          type:"post",
          url:"process.php",
          data:"name="+name+"&message="+message,
          success:function(data){
             $("#info").html(data);
          }

      });
      return false;

});

return false调用ajax后添加

于 2013-06-06T07:26:48.660 回答
0

尝试使用:

$(document).ready(function(){
  $("#button").click(function(){
        var name=$("#name").val();
        var message=$("#message").val();

        $.ajax({
            type:"POST",
            url:"process.php",
            data:{name: name, message: message},
            success:function(data){
               $("#info").html(data);
            }

        });

        return false;
  });
});

它不起作用,因为您的表单正在提交并刷新页面。

于 2013-06-06T07:29:27.227 回答
0

尝试这个?它未经测试并且基于我的记忆,因此它可能会或可能不会起作用。

<script language="javascript">
$(document).ready(function(){
    $("#button").click(function(evt){
        evt.preventDefault(); // prevent form submission so we can use ajax
        var name = $("#name").val();
        var message = $("#message").val();
        var sendData = { "name": name, "message": message };

        $.ajax({
            type: "POST",
            url: "process.php",
            data: sendData,
            success: function(data) {
                $("#info").html(data);
            }

        });
    });
});
</script>
于 2013-06-06T07:35:51.650 回答
0

你的数据库连接工作吗?尝试添加类似的东西

$link = mysql_connect("localhost","root","");
mysql_select_db('comments', $link);

我的建议是你应该使用 PDO 或 mysqli

于 2013-06-06T09:48:33.207 回答