通过ajax接收php数据作为数组,而不是我的javascript中的responseText
Receiving php data via ajax as an array instead of responseText in my javascript
目前我有一个ajax设置,我的javascript页面调用一个php文件,然后通过xhttp.responseText返回数据。这对字符串非常有效,但当我向它传递一个json编码的数组时,它仍然将结果视为文本。我得到一个字符串格式的数组版本,看起来像这个[1,2,3,4,5,6,7]
哪种方法有效,但不方便,因为它是表示数组的文本,而不是实际的数组。
如何将数据作为数组而不是文本格式的数组接收?目前,我仍然可以使用split()获取数据,但这似乎很草率。有没有比xhttp.responseText更有效的替代方案?
您可以尝试将数据作为JSON发送,这将为您提供所需数据结构的所有灵活性。PHP有一个函数json_encode,它将把你的PHP变量转换成json,你可以在客户端收到它。
-
首先,确保您的PHP按照我所说的对JSON进行编码,并且您也设置了正确的头,即。header('Content-Type:application/json');
-
接下来,在AJAX代码中,执行JSON.parse(xhttp.responseText)以检索作为JavaScript对象的JSON数据。
-
然后你可以用这个物体做任何你想做的事。此外,您可以通过xhttp.getResponseHeader("内容类型")检查您的PHP是否正在发送JSON,如果您正在发送JSON对象,该JSON应返回"application/JSON"。
您需要设置标题,smth类似于以下
$data = array('1', '2', '3');
header('Content-Type: application/json');
echo json_encode($data);
相关文章:
- 我的javascript for循环不起作用
- 如何将我的javascript库公开给其他客户端使用
- 可以Resharper在我的javascript函数声明中添加分号
- 为什么我的JavaScript堆栈排序函数不起作用
- 页面在我的javascript执行后重新加载,我不希望它这样做
- MVC正在忽略我的Javascript文件
- 为什么我的javascript程序没有将其转换为整数而不是字符串
- 为什么我的JavaScript在Safari上的严格模式下不能正常工作
- 我的javascript太慢了
- 由于某种原因,我的JavaScript函数无法工作
- 为什么我的javascript脚本在页面加载时运行,而不是使用onclick
- 我的Javascript代码出错
- 为什么我的javascript和jquery源文件始终不加载
- AJAX:为什么不是't我的javascript与内容一起加载
- 为什么不是't我的javascript向Project Euler返回正确答案's排名第一
- 为什么当我在带有锚点的页面之间移动时,Rails不重新加载我的javascript文件
- Num doenst在我的javascript中工作
- 在我的JavaScript模块中绑定一个点击事件
- 为什么我的JavaScript函数没有返回选中的数组值
- 使用Ajax将我的Javascript变量传递给PHP