将现有的php数组传递给jquery
我有一个PHP数组,我想传递给我的jquery(用我的php数组替换测试数组)。
Array ( [12] => Some Text [6] => Another text [11] => one more text )
jQuery的:
$('#SearchUser').typeahead({ source: [ { ID: 1, Name: 'Toronto' }, { ID: 2, Name: 'Montreal' }, { ID: 3, Name: 'New York' }, { ID: 4, Name: 'Buffalo' }, { ID: 5, Name: 'Boston' }, { ID: 6, Name: 'Columbus' }, { ID: 7, Name: 'Dallas' }, { ID: 8, Name: 'Vancouver' }, { ID: 9, Name: 'Seattle' }, { ID: 10, Name: 'Los Angeles' } ], display: 'Name', val: 'ID', itemSelected: updateID });
那么如何将“source”的var设置为我的php数组呢?
建议?
一如既往,你真棒!
-Tom
我是如何在我的一个项目中完成的,
$.get("= $baseUrl ?>search/data", function (data) { var dataObject = JSON.parse(data); $('#q').typeahead({ 'source': dataObject, // 'items': 5 }); });
我的搜索控制器的数据方法是:
echo (json_encode($arr)); // $arr is ["a","b","c"] etc. but you can have an associated array too.
基本上,显示我的代码的意思是使用json
你可以使用php的json_encode函数将php数组转换为json。 然后你可以使用json作为javascript数组。
http://www.php.net/manual/en/function.json-encode.php
我不知道你如何从php代码获取数据到javascript代码,但如果你打印数据为json,你可以通过ajax调用。
使用PHP的json_encode()
函数创建一个有效JSON的字符串,然后使用jQuery的$.getJSON()
读取它。
像这样的东西:
get_array.php
$someArray = /* whatever */; echo json_encode($someArray);
read_array.js
$.getJSON('get_array.php', function(data) { // data now contains your array });
或者,您可以这样做:
如果您不想要单独的文件,并且不介意使用全局变量。
您可以执行以下操作:
但是将语言X与语言Y混合是一种不好的做法。
那么,看看我对这篇文章的回答,你可以用更好的方式做到以下几点:
是否基于被认为有害的服务器端逻辑来回应Javascript代码?
希望这可以帮助 :-)