AJAX无法在我的项目中工作

时间:2018-02-21 05:12:33

标签: javascript php jquery ajax codeigniter

我在php codeigniter工作,我在我的代码中尝试了这样。

var dataSource = $.ajax({
            url: <?php echo $url=$this->BASE_URL."home/destination_place" ?>,
            method: "POST",
            data: { id : id,firstName:firstName },
            dataType: "html"
        });

这是我的返回数组,但它没有进入数据源字段

[{"id":"1","firstName":"dubai"},{"id":"2","firstName":"munnar"},{"id":"3","firstName":"wayanad"},{"id":"4","firstName":"kovalam"}]

我希望有人能帮助我解决这个问题。 希望

2 个答案:

答案 0 :(得分:1)

我倾向于不使用.ajax,因为它笨重而且凌乱。 .get().post()方法运行良好且干净整洁。

var dataSource = '';
$.post('<?= $this->BASE_URL.'home/destination_place' ?>',
        { id: id, firstName: firstName },
        function(resp){ dataSource = resp; });

第三个参数是回调函数,它将响应作为函数参数。然后,您可以将其分配给回调之外的变量。

要记住的是AJAX是异步的。在对远程计算机的调用完成之前,响应值将不可用。因此,应在回调函数内触发所有数据处理,在这种情况下,我们将resp分配给dataSource

答案 1 :(得分:0)

dataType参数是您希望从服务器获取的数据类型。 如果我没有正确地解决,你想从服务器获取JSON,但是你将dataType指定为html。尝试:

var dataSource = $.ajax({
            url: <?php echo $url=$this->BASE_URL."home/destination_place" ?>,
            method: "POST",
            dataType: "json",
            data: { id : id,firstName:firstName },
        });