【问题标题】:Passing array in JQuery Script在 JQuery 脚本中传递数组
【发布时间】:2011-11-22 23:31:48
【问题描述】:

这两天一直在研究这个愚蠢的问题。如果您能提供帮助,我将不胜感激!

所以我的 html 是这样的:

<a class='selected' option ='2' category='1' price='1750.00'>Round Corners</a>
<a class='selected' option ='3' category='1' price='2200.00'>Chamfer Corners</a>

然后我的脚本是:

$('#save').click(function(){
    var passOptions = new Array();
    var i=0;
    $('.selected').each(function(){
        passOptions[i] = $(this).attr('option');
        i++;
    });
console.log(passOptions);
$.ajax({
    type: "POST",
    url: "processsaveconfig.php?configid=<? echo $configid; ?>",
    data: { passOptionsArray : passOptions },
    success: function() {
        $('#pricediv').html(data);
    }
    });

});

我的php页面去:

    $passopts = $_REQUEST['passOptionsArray'];

mysql_connect($serverpath, $dbusr, $dbpass) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());

mysql_query("DELETE FROM se_config_opt_link
        WHERE se_config_opt_link.f_config_id = '$configid'");

foreach ($_POST['passOptions'] as $opts){

    mysql_query("INSERT INTO se_config_opt_link (f_config_id, f_opt_id)
        VALUES ('$configid', '$opts')");
};

在控制台选项卡的 Firebug 中,我得到:["1", "4", "7"] 但在“响应”选项卡中显示:


警告:在线 /home/users/c/companion/public_html/dynamic/builder_app/processsaveconfig.php 中为 foreach() 提供的参数无效17

我被困住了。如果您能提供帮助,我将不胜感激。

【问题讨论】:

  • 首先,var_dump() 看看你有什么样的数据
  • 我不是 PHP 专家,但在您的 foreach 中不应该是 $passopts['passOptions'] 而不是 $_POST['passOptions']
  • 我正在使用 Jeremy 的代码,但 var_dump 仍然输出“NULL”...

标签: php jquery mysql arrays post


【解决方案1】:

在我看来你正在寻找这个:

$('#save').click(function(){
    var passOptions = [];
    $('.selected').each(function(){
        passOptions.push($(this).attr('option'));
     });
console.log(passOptions);

在您的 PHP 中,使用如下内容:

$myArray = $_POST['passOptionsArray'];
if (is_array($myArray)({

    ...

}

我希望这会有所作为。

【讨论】:

  • 好的,使用这个代码,这里是 Firebug “响应”现在:警告:json_decode() 期望参数 1 是字符串,数组在 ...
【解决方案2】:

foreach ($_POST['passOptions'] as $opts){... 应该更像foreach ($_POST['passOptionsArray'] as $opts){...

【讨论】:

    猜你喜欢
    • 2015-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-24
    相关资源
    最近更新 更多