javascript xhr响应不返回任何内容

时间:2019-07-13 22:55:51

标签: javascript php json api

我正在使用PHP和JavaScript开发教育网站的api。

JavaScript如下所示:

const readApi = (subject) => {
    let serverResponse = '{}';
    let request = new XMLHttpRequest();
    request.onreadystatechange = function() {
        if (request.readyState === 4)  { 
            serverResponse = request.responseText;
        }
    }

    request.open("GET", '../api/subject.php?subj=' + subject, true);
    request.send(null);

    serverResponse = JSON.parse(serverResponse);

    return serverResponse;
}

在Chrome respond面板的network的{​​{1}}部分中,我得到了:

inspect

因此,我非常确定服务器正在响应我的请求。 但是每次我运行"[{\"0\":\"1\",\"chapter_id\":\"1\",\"1\":\"\\u751f\\u7269\\u5b78\\u6982\\u8ff0\",\"chapter_name\":\"\\u751f\\u7269\\u5b78\\u6982\\u8ff0\",\"2\":null,\"tag1\":null,\"3\":null,\"tag2\":null,\"4\":null,\"tag3\":null},{\"0\":\"2\",\"chapter_id\":\"2\",\"1\":\"\\u52d5\\u7269\\u7d30\\u80de\",\"chapter_name\":\"\\u52d5\\u7269\\u7d30\\u80de\",\"2\":null,\"tag1\":null,\"3\":null,\"tag2\":null,\"4\":null,\"tag3\":null},{\"0\":\"3\",\"chapter_id\":\"3\",\"1\":\"\\u690d\\u7269\\u7d30\\u80de\",\"chapter_name\":\"\\u690d\\u7269\\u7d30\\u80de\",\"2\":null,\"tag1\":null,\"3\":null,\"tag2\":null,\"4\":null,\"tag3\":null},{\"0\":\"4\",\"chapter_id\":\"4\",\"1\":\"\\u751f\\u7269\\u9ad4\\u4e2d\\u7684\\u5316\\u5b78\",\"chapter_name\":\"\\u751f\\u7269\\u9ad4\\u4e2d\\u7684\\u5316\\u5b78\",\"2\":null,\"tag1\":null,\"3\":null,\"tag2\":null,\"4\":null,\"tag3\":null},{\"0\":\"5\",\"chapter_id\":\"5\",\"1\":\"\\u5149\\u5408\\u4f5c\\u7528\",\"chapter_name\":\"\\u5149\\u5408\\u4f5c\\u7528\",\"2\":null,\"tag1\":null,\"3\":null,\"tag2\":null,\"4\":null,\"tag3\":null},{\"0\":\"6\",\"chapter_id\":\"6\",\"1\":\"\\u547c\\u5438\\u4f5c\\u7528\",\"chapter_name\":\"\\u547c\\u5438\\u4f5c\\u7528\",\"2\":null,\"tag1\":null,\"3\":null,\"tag2\":null,\"4\":null,\"tag3\":null},{\"0\":\"7\",\"chapter_id\":\"7\",\"1\":\"\\u80de\\u5668\",\"chapter_name\":\"\\u80de\\u5668\",\"2\":null,\"tag1\":null,\"3\":null,\"tag2\":null,\"4\":null,\"tag3\":null},{\"0\":\"8\",\"chapter_id\":\"8\",\"1\":\"\\u751f\\u7269\\u9ad4\\u4e2d\\u7684\\u8a0a\\u606f\",\"chapter_name\":\"\\u751f\\u7269\\u9ad4\\u4e2d\\u7684\\u8a0a\\u606f\",\"2\":null,\"tag1\":null,\"3\":null,\"tag2\":null,\"4\":null,\"tag3\":null},{\"0\":\"9\",\"chapter_id\":\"9\",\"1\":\"\\u7d30\\u80de\\u6838\",\"chapter_name\":\"\\u7d30\\u80de\\u6838\",\"2\":null,\"tag1\":null,\"3\":null,\"tag2\":null,\"4\":null,\"tag3\":null},{\"0\":\"10\",\"chapter_id\":\"10\",\"1\":\"\\u907a\\u50b3\",\"chapter_name\":\"\\u907a\\u50b3\",\"2\":null,\"tag1\":null,\"3\":null,\"tag2\":null,\"4\":null,\"tag3\":null}]"  上面的函数,结果是: readApi,其中没有任何内容。

有人可以告诉我我做错了什么吗?

0 个答案:

没有答案