gpt4 book ai didi

javascript - jQuery UI : "Uncaught Syntax Error: Unexpected token <" in one environment, 但不是另一个

转载 作者:行者123 更新时间:2023-12-01 03:50:45 29 4
gpt4 key购买 nike

我有一个非常简单的自动完成功能附加到 CakePHP 表单上的字段之一。这是 jQuery:

<script>
$(function() {
var availableTags = [<?=$suppliers?>];
$( "#MsrSupplier" ).autocomplete({
source: availableTags
});
});
</script>

这是我的 Controller 中从数据库中提取下拉值的代码。

//Dropdown suggestions for autocompleting the Suppliers field
$suppliers=$this->Msr->find('list',array('fields'=>'Msr.supplier'));
$strSuppliers='"'.implode('","',$suppliers).'"';
$this->set('suppliers',$strSuppliers);

我的 edit.ctp 中的字段代码:

<?php echo $this->Form->input('supplier', array('type'=>'textbox', 'div'=>false, 
'name'=>'supplier', 'id'=>'MsrSupplier')); ?>

这在我的开发环境中运行良好,该环境只是在 Mac OS X 上运行的 XAMPP 的本地安装。当我开始在字段中输入单词时,我会收到自动完成建议,并带有 CSS 格式。但是,当我将其推送到生产服务器时,在检查该字段时收到以下错误:

Uncaught SyntaxError: Unexpected token <

错误指向我的 jQuery 代码中的这一行:

var availableTags = [<?=$suppliers?>];

所以,我看到了这个问题,但我不知道为什么这是一个问题,也不知道该怎么办。 XAMPP 中的 Apache 版本是 2.4.16。我的服务器上的版本是在 CentOS 5 上运行的 2.2.3-92。两个环境都运行 CakePHP 版本 2.0.5,并且指向我的 jQuery 版本的默认布局是相同的。

最佳答案

echo also has a shortcut syntax, where you can immediately follow the opening tag with an equals sign. Prior to PHP 5.4.0, this short syntax only works with the short_open_tag configuration setting enabled.

<强> http://php.net/manual/en/function.echo.php

您的服务器可能禁用了该选项,因此它按原样输出,即 <?=$suppliers?> ,而不是被解释为 PHP。

ps。一般来说我会使用json_encode当从 PHP 向 JS 传递数据时,即不要在 Controller 中构建逗号分隔的带引号的字符串,而是按原样将查询/结果传递给 View ,然后执行以下操作:

var availableTags = <?php echo json_encode($suppliers) ?>; // or <?= when applicable

关于javascript - jQuery UI : "Uncaught Syntax Error: Unexpected token <" in one environment, 但不是另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43234125/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com