【问题标题】:Javascript array shows [object object] instead of showing the textJavascript 数组显示 [object object] 而不是显示文本
【发布时间】:2019-01-30 11:11:52
【问题描述】:

一直试图将 PHP 数组传递给 JavaScript 数组,但是当我读出该 JavaScript 数组的内容时,它实际上显示为 [object, object]。

if($error!='') {
    $this->output
        ->set_content_type('application/json')
        ->set_output(json_encode(array(
            'message' => array(
                array(
                    'status'=>'error',
                    'message'=> $error1
                ),
                array(
                    'status'=>'error',
                    'message'=> $error2
                )
            )
        )));
}

$error1='Size Title Required !';
$error2='Size Code Required !';

我一直在尝试将 PHP 数组传递给 JavaScript 数组,但是当我读出该 JavaScript 数组的内容时,它实际上显示为 [object, object]。

【问题讨论】:

  • 我认为您的嵌套数组没有被序列化为 JSON。
  • 从对象到字符串的默认转换是 "[object Object]" 尝试访问它 array[0]
  • 我是新来的,你能告诉我怎么做吗?
  • 只写array[0]然后检查..它的php代码我不知道怎么访问它

标签: javascript php arrays ajax toastr


【解决方案1】:

对 php 数组执行此操作

var js_obj = <?php echo json_encode($phpArray); ?>)
 console.log(js_obj); // to check in console

然后在javascript中使用它

【讨论】:

    【解决方案2】:

    那是因为你有一个 JSON 对象。使用JSON.Stringify(YourObject)

    【讨论】:

    • 我是新来的,你能告诉我怎么做吗?
    • 首先显示您的 JavaScript,您尝试访问变量的位置。
    • $.ajax( { url: "", type : "POST", dataType : "JSON", data : data, processData : false , contentType : false, cache : false, async : false, success: function (data) { if(data.status=='error'){ $.toast({ heading: 'Error', text: data.message, position : '右下角', loaderBg:'#ff6849', 图标: '错误', hideAfter: 3000 }); } },
    【解决方案3】:

    在传递给 javascript 之前尝试在 PHP 中使用 json_encode() 方法。

    并在 JavaScript 中使用 JSON.parse() 方法来获取

    【讨论】:

    • 我是新来的,你能告诉我怎么做吗?
    • var response = ;响应 = JSON.Parse(响应);
    猜你喜欢
    • 1970-01-01
    • 2014-07-28
    • 2021-01-26
    • 1970-01-01
    • 2021-07-15
    • 2021-05-14
    • 2021-12-03
    • 1970-01-01
    相关资源
    最近更新 更多