控制台中的“Uncaught SyntaxError: Unexpected identifier”

时间:2021-07-07 16:30:41

标签: javascript

我想将 php 变量传递给 javascript 变量。 当我点击错误时,它会在“console.log(data)”下显示一条红线 但它在控制台窗口中引发错误 -

<块引用>

未捕获的语法错误:意外的标识符

我是 JavaScript 新手。

Javascript:

<script>
$('#clientName').on('change', function() {
    var clientname = $(this).val();
    var clientid = $('#clients-list option[value=' + clientname +']').attr('id');

    var data = [];
    data = <?= $client_data ?>
    console.log(data);
});
</script>

PHP 变量 ( $client_data ) :

    Array
(
    [0] => Array
        (
            [id] => 1
            [client_name] => John Doe
            [client_shop_street] => Baker Street
            [client_city_town] => California
            [client_pincode] => 
            [client_desc] => hello1
            [client_contact1] => 1234567890
            [client_contact2] => 1111111111
            [client_email] => 
            [client_total_amt] => 45000
            [client_paid_amt] => 37000
            [created_at] => 
            [updated_at] => 2021-06-21 18:39:54
            [created_by] => 1
        )

[1] => Array
        (
            [id] => 2
            [client_name] =>  Tom Jerry
            [client_shop_street] => Wall Street
            [client_city_town] => New York
            [client_pincode] => 
            [client_desc] => testing demo
            [client_contact1] => 2222222222
            [client_contact2] => 3333333333
            [client_email] => 
            [client_total_amt] => 45000
            [client_paid_amt] => 37000
            [created_at] => 
            [updated_at] => 2021-06-21 23:32:12
            [created_by] => 1
        )
)

3 个答案:

答案 0 :(得分:0)

要以在 JavaScript 中有意义的格式公开 PHP 对象,您需要以 JavaScript 友好的格式对其进行编码。最简单的就是使用json,不需要任何特殊解析就可以被JavaScript解析。

在您的 PHP 文件中:

<script>
$('#clientName').on('change', function() {
    var clientname = $(this).val();
    var clientid = $('#clients-list option[value=' + clientname +']').attr('id');

    var data = [];
    data = <?= json_encode($client_data) ?>
    console_data(data);
});
</script>

json_encode docs

答案 1 :(得分:0)

代码中的两个问题:

  1. 在使用 PHP 数组作为 JS 变量的值时使用 json_encode

     data = <?json_encode($client_data) ?>
    
  2. 我认为应该是console.log(data)

答案 2 :(得分:0)

[已解决] PHP 代码遗漏单引号。

<script>
$('#clientName').on('change', function() {
    var clientname = $(this).val();
    var clientid = $('#clients-list option[value=' + clientname +']').attr('id');

    var data = [];
    data = '<?php echo json_encode($client_data) ?>'
    console.log(data);
});