AJAX返回完整的HTML站点而不是JSON对象

时间:2014-02-26 10:53:05

标签: 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));
});

我将一个简单的字符串发送到我的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\""

修改

我只需要响应的结尾,即"Test",但不是整个HTML文件。

更新 我解析了我的PHP类,并编写了一个像上面的PHP代码一样的小版本。 但现在我的回复是一个空对象{"data":[]}

2 个答案:

答案 0 :(得分:0)

嘿把类型=&#34; Json&#34;而不是&#34;文本&#34;

答案 1 :(得分:-1)

exit();

之后加echo json_encode($myData);