正在从 HTTP 响应中解析 JSON

Parsing JSON from HTTP response

假设我有一个 URL http://example.com/product/12345 其中包含代码行。 URL 是电子商务网站的产品页面,该页面内有一个 "Add to Cart" 按钮。

单击该按钮后,它会发送有关已查看产品的 HTTP POST 和 returns 以下 JSON 响应:

{
"products": [
{
"id":            722,
"link":          "http://example.com/product/123123",
"image_link":    "http://example.com/prodcut/image/thumb.jpg",
"image_width":   "45",
"image_height":  "45",
"quantity":      1,
.... and so on...

我想知道是否可以在不知道哪个函数调用它的情况下解析响应,因为:

  1. 该页面由多个视图组成(从不同的控制器呈现)
  2. 我试过做这样的事情:

    console.log(response.products), 或; console.log(产品)

但都给出 "undefined" 错误...

谁能帮我解决这个问题?非常感谢。

如果有帮助的话,我可以为您指明确切的文件:

  1. /themes/yourtheme/js/modules/blockcart/ajax-cart.js 如果不存在看/modules/blockcart/ajax-cart.js

看注释行下面的代码“//发送 ajax 请求到服务器”

  1. 和JSON答案形成于Smarty模板文件blockcart-json.tpl/themes/yourtheme/modules/blockcart//modules/blockcart/

所以,如果您将 console.log 放在 ajax-cart.js 中

success: function(jsonData,textStatus,jqXHR)
            {
                console.log(jsonData.products); // not parsed json here of course
                ...
                },

应该可以。

使用 JSON.parse(response) 转换为 Json 对象并再次转换为字符串使用 JSON.stringify (回复)