【问题标题】:how to post javascript object to php file如何将javascript对象发布到php文件
【发布时间】:2015-09-04 23:53:36
【问题描述】:

我正在尝试从这个 jquery 函数发帖:

    postQuestion: function(callback, data){ 
        var url = 'myphp.php';
        var data = new Object();
        data.name = 'aname';

        jQuery.post(url,data,function(result){
            alert(result);
            callback(result, data);
        })
        return false;
     },         
     postQuestionCallback:function(result, data){},
}

myphp.php 看起来像这样:

<?php  
echo $_POST["name"];
?>

当我从上面的 jquery 发布数据对象时,我得到一个 404。如果我将它获取的名称传递给 php 文件,但它没有得到名称参数。

如何将数据对象中的多个值传递给 php 文件?

【问题讨论】:

  • data的值是多少?
  • 那么6年5个月了你还是不知道怎么提问?请查看stackoverflow.com/help/how-to-ask 并重试。对你也有帮助:stackoverflow.com/help/mcve
  • 您可以通过在对象中放置多个属性来传递多个值:data = { name: "MyName", email: "myaddr@domain.com" }
  • 404 错误意味着您为 PHP 脚本提供了错误的 URL。
  • 一种方法是将 js 对象序列化为字符串并在 php 端反序列化它

标签: javascript php jquery rest http-post


【解决方案1】:

要传递多个值,请使用具有多个属性的对象:

function(callback, data) {
    var url = "myphp.php";
    var data = { name: "aname", email: "account@domain.com" };
    $.post(url, data, function(result) {
        alert(result);
        callback(result, data);
    });
    return false;
}

这些值将在$_POST['name']$_POST['email'] 中。

【讨论】:

    【解决方案2】:

    我认为您的代码没有任何问题。你做得对。请确保您拥有有效的 URL。如果 URL 是正确的,那么这肯定会起作用。 Barmar 已经回答了如何将多个值传递给 PHP 端。你的方法也是正确的。要传递多个值,您只需添加如下值:

    var url = '/index.php';
    var data = new Object();
    data.name  = 'aname';
    data.email = 'foo@bar.com';
    
    jQuery.post(url, data, function(result){
        alert(result);
        callback(result, data);
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 2015-03-08
      • 1970-01-01
      • 2015-07-07
      相关资源
      最近更新 更多