Javascript AJAX返回完整的HTML站点,而不是JSON对象
我终于可以从我的AJAX PHP调用中收到响应。 但现在作为回报,我得到了完整的HTML站点,而不是JSON对象或字符串。 这里怎么了Javascript AJAX返回完整的HTML站点,而不是JSON对象,javascript,php,jquery,ajax,json,Javascript,Php,Jquery,Ajax,Json,我终于可以从我的AJAX PHP调用中收到响应。 但现在作为回报,我得到了完整的HTML站点,而不是JSON对象或字符串。 这里怎么了 var request = $.ajax({ url: "mysite.php", type: "POST", data: {select:requestStr}, dataType: "html" }); request.done(function( data ) { console.log(JSON.stringify(data));
var request = $.ajax({
url: "mysite.php",
type: "POST",
data: {select:requestStr},
dataType: "html"
});
request.done(function( data ) {
console.log(JSON.stringify(data));
});
我向我的php类发送一个简单字符串。这是我从浏览器的开发人员工具中的响应文本中得到的:
data=Test
在PHP站点上,我只返回响应:
<?php
$myData = array();
$myData['data'] = "test";
if (isset($_POST)) {
$myData['data'] = $_POST;
}
echo json_encode($myData);
exit();
?>
这是响应中的console.log:
"<!DOCTYPE html>\r\n<html>\r\n<head> ... </html>\"Test\""
“\r\n\r\n…\“测试”
编辑
我只需要响应的结尾,即“Test”
,而不是整个HTML文件
更新
我提取了我的PHP类,并编写了一个类似上面PHP代码的小版本。
但是现在我的响应是一个空对象
{“data”:[]}
放置一个退出()
afterecho json\u encode($myData)
嘿,用type=“Json”代替“text”这真的是mysite.php
的全部内容吗?(您缺少内容类型标题)。从mysite.php返回的内容可以显示吗确保您的php脚本顶部没有任何HTML,只需使用获取代码并返回JSON即可。如果您在echo之后编写了任何HTML,则需要在echo之后调用exit()停止脚本@昆汀:不,不是。这是一个PHP类,但我只想打印重要部分。是或否,我这里没有内容类型标题。