php - 将数据传递给 ajax 请求 jquery?

标签 php javascript jquery ajax

当我尝试通过 ajax 发送数据时,它没有传递数据

$('#savenew').click(function () {
  var user = <?php echo $user?>;
  $.ajax({
    type: "POST",
    url: "actions/sub.php",
    data: user,
    success: function () {
      $('#savenew').html('<span>Unsubscribe</span>');
      $(this).removeAttr('id');
      $(this).attr('id', 'clean');
    }
  });
});

我在接收端的PHP代码,

if ($_POST['user']) {
 $user = $_POST['user'];
}

我做错了什么吗?请帮忙。

最佳答案

这个:

data: user,

应该是

data: {user: user},

因为您要查找名为“user”的 POST 变量并使用它的值。 jQuery 将接受对象文字并将其序列化为 POST 数据,使用属性名称作为键,属性值作为值。使用对象(文字或其他)的好处是 jQuery 会为您处理值的编码。您可以使用一个字符串 (data: "user="+ user),但是您必须担心自己做 encodeURIComponent 部分字符串参数(不需要这个数字参数)。

你也可以在一个客户端上没有 user 变量的情况下全部完成:

$('#savenew').click(function(){
    $.ajax({
        type: "POST",
        url: "actions/sub.php",
        data: {user: <?php echo $user?>},
        success: function(){
            $('#savenew').html('<span>Unsubscribe</span>');
            $(this).removeAttr('id');
            $(this).attr('id', 'clean');
        }
    });
});

...尽管在客户端使用 user 变量是无害的,当然如果您想在多个地方使用它...

关于php - 将数据传递给 ajax 请求 jquery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4561506/

相关文章:

PHP 用函数制作数组的 N 份副本

php - 为什么 PHP 5.5 的 OPcache 显示为零命中? suPHP 的罪魁祸首?

JavaScript 不适用于 SVG

javascript - ReactJS Moment 没有正确格式化日期

javascript - React 'component' 参数缺失错误?

javascript - 如何获得具有绝对位置子元素的响应高度

php - 如何在 laravel 中使用嵌套关系列字段对查询结果进行排序?

php - NodeJS : extend Class and __construct method

javascript - 如何解决 $.fullCalendar.formatDate 不是一个函数

javascript - 从 div 到 div 来回移动和/或拖动元素并动态捕获它的 div 字符串