首页 > 解决方案 > 如何告诉 JavaScript 我的变量是数组而不是字符串?

问题描述

我正在使用烧瓶,我的后端以 python 列表的形式向 AJAX 返回响应,然后 JavaScript 将其理解为字符串,但这是一个问题,因为我必须遍历该列表。

我在互联网上只能找到如何检查变量的类型,但找不到任何方法(在 python 中非常简单)来更改它

标签: javascriptajaxflask

解决方案


如果你的响应是一个字符串,你可以用JSON.parse它来把它变成一个 JS 对象/数组。

var response = someAjaxStuff(...);
// response is a string
response = JSON.parse(response);
// now reponse is an Object/Array

如果您将 AJAX 与 jQuery 一起使用,您还可以使用dataType

$.ajax({
    url: 'https://example.com/api/somejson',
    dataType: 'json',
    method: 'get',
    success: function(res) {
        // console.log res will be an object/array here.
    }

});

但是如果您正在编写自己的 API,我建议您必须添加正确的标头以告诉浏览器它是 JSON 格式而不是字符串。

对于烧瓶,您可以使用jsonify参考):

return jsonify(somedict)

推荐阅读