如何使用Ajax调用检索数据

时间:2013-02-26 08:36:50

标签: php jquery ajax json call

我想检索一个带有Ajax调用的字符串,但我一直在我的回复中获取整个html页面。

检索字符串的方法是什么?

$.ajax({
                    url: '{$domainpath}{$language}/reservations/updatestartdates',
                    data: {property:property,stayduration:stayduration},
                    type: 'POST',
                    dataType: 'json'
                }).done(function(response){
                    alert(response);
                });

private function updateAvailableStartDates(){
    if(isset($_POST['property']) && !empty($_POST['property']) && isset($_POST['stayduration']) && !empty($_POST['stayduration'])){
        $property = $_POST['property'];
        $stayduration = $_POST['stayduration'];
    }
    //handle code

    echo json_encode('only this string');
}

3 个答案:

答案 0 :(得分:2)

它将检索url: '{$domainpath}{$language}/reservations/updatestartdates'

的所有输出

所以如果你想要字符串,那么你的服务器页面中只有echo字符串(删除所有的html输出)

同时将echo json_encode('only this string');更改为echo json_encode(array('only this string'));

答案 1 :(得分:1)

通常最好在打印JSON后立即退出以防止内容(可能是\ n)破坏响应。

echo json_encode('only this string');
exit();

答案 2 :(得分:0)

我认为你的函数在布局启用模式下发送响应,因此字符串带有包装布局。可能是您需要在控制器中禁用调用功能的布局 (url: '{$domainpath{$language}/reservations/updatestartdates')