jquery - 从通过 ajax 请求传递的 jquery 对象获取特定值

标签 jquery json ajax object coldfusion

所以我目前有一个设置,当用户单击链接时,链接的 ID 通过 AJAX 发送到 Coldfusion 页面,该页面使用它来进行查询并返回对象。

jquery 函数如下所示:

$(".thelink").click(function(){

    var link_id = $(this).attr("id");

    var postData ={
        link_id: link_id,
        }

        $.ajax({
            type: "post",
            url: "includes/query.cfm",
            contentType: "application/json",
            data:JSON.stringify(postData),
            datatype: "json",
            success: function(data){
                $("#derpaderp").html(data.DATA.NAME);
            }
        })
})

它将数据发送到 CFM 文件,该文件执行查询并生成单行数据。然后我使用

<CFOUTPUT>#SerializeJSON(myQuery, true)#</CFOUTPUT>

返回数据。这一切都工作正常,我可以在开发人员工具中看到这一点:

JSON return object

现在,如果您回顾一下 AJAX 函数,在“成功”下,我基本上尝试访问 DATA 对象中的值,正如您在图像中看到的那样,我收到错误“data .DATA”未定义。

如何获取 DATA 对象中项目的值(名称、visible_url、landing_url 等)的任何想法

谢谢!

<小时/>

Vlad 的回答解决了上述问题,但还有一个后续问题:

如果我需要像这样对 CFM 文件进行另一个查询:

<CFOUTPUT>
    <cfset object0 = RemoveChars(#SerializeJSON(query1, true)#, 1, 2) >
    <cfset object1 = RemoveChars(#SerializeJSON(query2, true)#, 1, 2) >

    #object0#
    #object1#
</CFOUTPUT>

它给了我一个像这样的 JSON 响应

Response with multiple queries

我仍然需要从 DATA 对象获取信息,但是现在有两个,如上图所示

我正在尝试这个

$.ajax({
        type: "post",
        url: "includes/query.cfm",
        contentType: "application/json",
        data:JSON.stringify(postData),
        datatype: "json",
        success: function(data){
            var pdata = $.parseJSON(data[0]);
            console.log(pdata);
        }
    })

基于 Vlad 对原始问题的回答,但它抛出了一个错误。

最佳答案

在您的成功函数中,您可以添加 parseJson功能。您可以使用console.log来检查您想要的其他值。

$.ajax({
  type: "post",
  url: "includes/query.cfm",
  contentType: "application/json",
  data:JSON.stringify(postData),
  datatype: "json",
  success: function(data){
    var pdata = $.parseJSON(data);
    console.log(pdata.DATA.VISIBLE_URL)

    //$("#derpaderp").html(pdata.DATA.VISIBLE_URL);
  }
})

关于jquery - 从通过 ajax 请求传递的 jquery 对象获取特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35588583/

相关文章:

jQuery UI DatePicker 在对话框窗口打开时打开

ajax - Spring 3 项目上的 java.lang.ClassNotFoundException : org. codehaus.jackson.map.ObjectMapper

javascript - 如何遍历嵌套对象的所有键和值?

json - 使用正则表达式在 shell 脚本中解析 JSON

json - Nodejs 从 http 请求 block 中读取 JSON 数据

java - ajax 调用和 HttpURLConnection 的访问控制允许来源

javascript - laravel pdf文件从ajax请求下载(laravel 5)

jquery - URL 中的 ID 不隐藏其他 div

javascript - jQuery post() 返回 true 或 false

jquery - 拖放 jquery 在 div 标签之间不起作用