我想检索一个带有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');
}
答案 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')
。