我必须得到这种格式的输出var sampleTags = ['c++', 'scala'];
<script>
$(document).ready(function(){
$(function(){
var sampleTags;
$.ajax({
url:"<?php echo base_url('ajax_get_tags/gettags'); ?>"
}).done(function(data) {
if (data) {
sampleTags = data;
}
});
......................
.......................
$(function(){
var sampleTags = <?php echo json_encode($query) ?>;
我的php控制器是
function gettags(){
$json_array=$this->tagsmodel->get_all_tags();
echo json_encode($json_array);
}
我的模型是
//-------------------------------Function get all tags--------------------------------
function get_all_tags() {
$this->load->database();
$this->db->limit('10');
$this->db->select('tags_name');
$res = $this->db->get('tags');
$ret = array();
foreach ($res->result_array() as $row) {
$ret[] = $row['tags_name'];
}
return $ret;
}
如何从ajax请求得到json输出显示其值为javascript变量?请帮我解决这个问题
您使用的是旧版本的jQuery,因此.done
将无法工作。它看起来像你想添加一个键到你的请求对象称为complete
,与匿名函数作为其值:
$.ajax({
url: "<?php echo base_url('ajax_get_tags/gettags'); ?>",
complete: function(data) {
if (data) {
sampleTags = data;
}
}
});
我通过谷歌搜索你的错误信息发现了这个。其中一个结果是这个问题:object#
我想给一些建议
- 通过使用die或exit打印服务器端返回值来检查返回值。
- 检查firebug net选项卡中的http响应。3 .