首先我在php中回显我的数据,我用非常简单的数据尝试过,比如:
my_string_list = ['1.0', '1.20798878439', '1.52379907139']
my_int_list = []
for item in my_string_list:
my_int_list.append(float(item))
然后我尝试在我的ajax调用中捕获它我之前为该php编写的(并且正在工作):
echo json_encode(array("one" => "something"));
但我每次都会收到JSON.parse()的语法错误:
未捕获的SyntaxError:意外的令牌<在位置0的JSON中
所以我刚刚注销了succcess: function (xhr,data) {
var something = JSON.parse(data);
console.log(something);
}
"数据"是,它返回页面的整个html 。
如果我退出 xhr (应该包含我认为的html),我明白了:
XMLHttpRequest {onreadystatechange:null,readyState:4,timeout:0, withCredentials:false,upload:XMLHttpRequestUpload ...}
我想只返回json编码的数据,而不是整个html。
提前感谢您的回答。
编辑: 问题是这个php在php语句之前生成了html内容,它等同于echo语句,因此ajax无法将其与我想发送的数据区分开来。我做了另一个php文件来完成这个任务,现在它正常工作。
答案 0 :(得分:0)
在php响应中添加一个包含Content-type
的标题header('Content-type: application/json; charset=UTF-8');
echo json_encode(array("one" => "something"));