Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 在AJAX JSON响应中包含HTML 简要说明_Javascript_Jquery_Html_Ajax_Json - Fatal编程技术网

Javascript 在AJAX JSON响应中包含HTML 简要说明

Javascript 在AJAX JSON响应中包含HTML 简要说明,javascript,jquery,html,ajax,json,Javascript,Jquery,Html,Ajax,Json,我有一个表单,目前正在通过AJAX加载。理想情况下,我会使用jQueryload()方法,但是,这个请求稍微复杂一些,因为我还需要检索单个属性,而不仅仅是一个大的HTML块 因此,我的脚本看起来像这样(简化): 我的问题 我不确定在JSON响应中包含HTML标记是否是一个好主意 我的上述想法正确吗 还有其他选择吗 如果JSON请求中存储大量html,我会遇到限制吗 请注意 我当然知道我可以使用javascript构建标记,但是,由于有几个表单,而且都非常大,因此构建表单服务器端要容易得多。更不用

我有一个表单,目前正在通过AJAX加载。理想情况下,我会使用jQuery
load()
方法,但是,这个请求稍微复杂一些,因为我还需要检索单个属性,而不仅仅是一个大的HTML块

因此,我的脚本看起来像这样(简化):

我的问题 我不确定在JSON响应中包含HTML标记是否是一个好主意

  • 我的上述想法正确吗
  • 还有其他选择吗
  • 如果JSON请求中存储大量html,我会遇到限制吗
  • 请注意 我当然知道我可以使用javascript构建标记,但是,由于有几个表单,而且都非常大,因此构建表单服务器端要容易得多。更不用说它使调试/开发/维护变得更容易了……

    此外,我的站点目前javascript非常多,因此我希望尽可能减少所需的js。

  • 您可以将html包含在json对象中,只需确保转义所有引号和其他特殊字符
  • 您最好使用两个请求,一个用于加载html表单,另一个用于获取所需数据。这将使代码更干净、更易于维护
  • 您可以将html包含在json对象中,只需确保转义所有引号和其他特殊字符
  • 您最好使用两个请求,一个用于加载html表单,另一个用于获取所需数据。这将使代码更干净、更易于维护


  • 这是一个字符串,所以没有问题,包括它。这看起来非常好。。。。我不知道有与尺寸相关的问题。。。我可以建议的一个小改进是链接jQuery,这样选择器就不会执行两次。。。比如
    $('.form').css(…).html(…)
    @jsmorph谁是Jason?@jsmorph,你知道
    数据类型是什么吗?@epascarello谢谢你的输入。根据您的积极反馈,我假设您在相同的情况下都会使用相同的方法?它是一个字符串,因此不存在包含它的问题。这看起来非常好。。。。我不知道有与尺寸相关的问题。。。我可以建议的一个小改进是链接jQuery,这样选择器就不会执行两次。。。比如
    $('.form').css(…).html(…)
    @jsmorph谁是Jason?@jsmorph,你知道
    数据类型是什么吗?@epascarello谢谢你的输入。我从你的积极反馈中推测,在相同的情况下,你们都会使用相同的方法?这确实在我脑海中闪过,但缺点(显然)是,有两个请求@BenCarey——虽然有两个请求,但易于维护的代码还有很长的路要走:)@BenCarey是真的,但是当性能不是问题时,可维护的代码胜过性能,并且如果/当性能成为问题时,您可以很容易地重构第二个请求issue@Nicol这是真的!可悲的是,性能已经是一个问题,因为我的网站使用了大量的javascript,结果,在可能的情况下,我试图将其最小化:-)注意我们的大小。如果从服务器返回的数据太多并且服务器施加了限制,您可能会意外地被捕获。例如:我确实想到了这一点,但缺点(显然)是有两个请求@BenCarey——虽然有两个请求,但易于维护的代码还有很长的路要走:)@BenCarey是真的,但是当性能不是问题时,可维护的代码胜过性能,并且如果/当性能成为问题时,您可以很容易地重构第二个请求issue@Nicol这是真的!可悲的是,性能已经是一个问题,因为我的网站使用了大量的javascript,结果,在可能的情况下,我试图将其最小化:-)注意我们的大小。如果从服务器返回的数据太多并且服务器施加了限制,您可能会意外地被捕获。例如:
    
    $.ajax({
        url: url,
        dataType: 'json',
        success: function(data){
            // Set the width of the form
            $('.form').css({
                width: data.width
            })
            // Load the form into the popup
            $('.form').html(data.html);
        }
    });