-1

我有这个脚本:

             var wall_user_id =  "<?php echo $_SESSION['user_id'];?>";

 $.ajax({
            type: "POST",
            url: "insert.php",
            data: "user_id=" + wall_user_id,
            success: function () {
                $('ul#posts').prepend(wall_post);

            }
        });//end success function

将 wall_user_id 发送到 php 脚本:

      <?php
      require 'core/functions/init.php';

      $user_id = mysql_real_escape_string($_POST['user_id']);
      $sql = 'INSERT INTO wall (user_id) VALUES('.$user_id.')';
      mysql_query($sql);
      ?>

这工作正常,但如果我尝试添加更多这样的值,它不会:

         var wall_user_id =  "<?php echo $_SESSION['user_id'];?>";
             var wall_userimage = "<?php echo $user_data['imagename']; ?>";

 $.ajax({
            type: "POST",
            url: "insert.php",
            data: "user_id=" + wall_user_id +"userimage="+ wall_userimage,
            success: function () {
                $('ul#posts').prepend(wall_post);

            }
        });//end success function

和 insert.php:

 <?php
      require 'core/functions/init.php';

      $user_id = mysql_real_escape_string($_POST['user_id']);
      $userimage = mysql_real_escape_string($_POST['userimage']);

      $sql = 'INSERT INTO wall (user_id, image) VALUES('.$user_id.','.$userimage.')';
      mysql_query($sql);
      ?>

它不会向数据库中插入任何值。我究竟做错了什么?

4

3 回答 3

4

您可以在以下内容中传递任意数量的值data

data: { user_id: wall_user_id, userimage: wall_userimage }

并在您的示例中用于&分隔参数:

data: "user_id=" + wall_user_id + "&userimage=" + wall_userimage

但是第一种方法是推荐的方法,因为 jQuery 负责正确地对值进行 url 编码。如果你想正确地做你的例子,你应该写:

data: "user_id=" + encodeURIComponent(wall_user_id) + "&userimage=" + encodeURIComponent(wall_userimage)

这显然是太多的代码。所以使用第一种方法。

于 2012-08-19T09:41:05.743 回答
1

数据查询字符串错误。你忘了&

data : "user_id=" + wall_user_id +"&userimage="+ wall_userimage

或者你可以使用对象

data : { 'user_id': wall_user_id, 'userimage': wall_userimage }
于 2012-08-19T09:49:27.723 回答
0

不能这样发送多个变量。您发布的值如下数据:“user_id=" + wall_user_id +"userimage="+ wall_userimage

这不适用于多个变量。您可以执行以下操作

$.post(" 你需要发帖的地址 ",{ "user_id": wall_user_id , "userimage" : wall_userimage}, function(response) { ......... });

或者

数据:{“user_id”:wall_user_id,“userimage”:wall_userimage}

数据应作为数组传递

于 2012-08-19T09:50:46.507 回答