Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Jquery将JSON Ajax字符串设置为变量,然后附加一个<;李>;_Javascript_Jquery_Ajax_Json - Fatal编程技术网

Javascript 使用Jquery将JSON Ajax字符串设置为变量,然后附加一个<;李>;

Javascript 使用Jquery将JSON Ajax字符串设置为变量,然后附加一个<;李>;,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我有一个Ajax脚本,它当前正在接收一个JSON数据字符串,并将数据附加到页面上的,如下所示: 这是我用来执行此操作的Jquery脚本: jQuery(document).ready(function($) { $('form.quform').Quform({ successStart: function (response) { var li = $("<li>").text(JSON.stringify(response)); $("#response").a

我有一个Ajax脚本,它当前正在接收一个JSON数据字符串,并将数据附加到页面上的
  • ,如下所示:

    这是我用来执行此操作的Jquery脚本:

    jQuery(document).ready(function($) {
      $('form.quform').Quform({
      successStart: function (response) {
      var li = $("<li>").text(JSON.stringify(response));
      $("#response").append(li)
    
    这也是我接收到的页面JSON字符串:

    {"type":"success","message":"Your message has been sent, thank you.","record":{"id":108,"bank_name":"Jane Doe","balance":"200","account_number":"8765432187654321","customer_id":"250","monthly":"50"}}
    

    放置
    var data=JSON.stringify(myObject,replacer)没有意义,因为未定义
    myObject
    replacer
    。不要只是复制和粘贴代码。其他答案只是提供了
    JSON.stringify
    的一般签名。您已经知道如何使用它,因为您在第一个代码段中使用了它


    无论如何,
    JSON.stringify
    将现有对象/数组转换为包含JSON的字符串,这也意味着
    response
    已经是一个对象了。所以你所要做的就是访问它的属性。就你而言

    var data = response.record;
    
    数据设置为正确的值


    更多信息:

    假设您的响应是JSON响应,则无需执行以下操作:

    var data= JSON.stringify(myObject, replacer);
    
    此外,myObject和replacer似乎没有定义。另外,它看起来像这一行:

    var content = "balance: " + data.balance + " account_number:" + data.account_number;
    
    应该是:

    var content = "balance: " + data.record.balance + " account_number:" + data.record.account_number;
    
    如果不起作用,请尝试以下操作:

    var data = $.parseJSON(response);
    var content = "balance: " + data.balance + " account_number:" + data.account_number;
    

    这实际上会将响应变量解析为一个对象,然后您可以通过“data.record”访问该对象。

    谢谢您的帮助。。。。这很有意义,那么在设置变量时,如何将字段名与值分开呢。我不想这样显示银行名称:“Jane Doe
    ,我只想显示Jane Doe
    ,你不必这样做。如果
    varx={foo:bar}
    是一个对象,然后
    x.foo
    返回
    “bar”
    。因此
    data.bank\u name
    返回
    “Jane Doe”
    。这很好地解释了对象是如何工作的。我仍然不明白,我是否也要改变这个
    var li=$(“
  • ”)。text(JSON.stringify(response))或仅添加此
    var data=response.record在下一行。对不起,我只是没有使用JSON的经验带有
    var数据=response.record。您还应该更改
    var li=$(“
  • ”)。文本(内容)
    var li=$(“
  • ”)文本(内容)<代码>$(“
  • ”)
  • 不起作用。哦,不要使用JSON,你是说我认为解析是相反的。如果我想将字符串发送回服务器,我将使用该字符串格式化objectSee。它接受一个JSON字符串并返回一个POJO(普通的旧Javascript对象)。。。根据您的答案,我可以保持原样,然后为字符串设置一个变量。这看起来是什么样的
    var data=$.text(JSON.stringify(response))这对我来说没有意义。我建议你看看@Felix Kling的评论。
    
    var data = $.parseJSON(response);
    var content = "balance: " + data.balance + " account_number:" + data.account_number;