在ajax请求之后添加带有数据参数的外部<script>

时间:2017-11-05 10:12:25

标签: javascript jquery ajax attr

我需要添加&lt; script>标记有外部src和数据 - * =“”参数在&lt;形式>。如果你只是在页面中添加它就可以了。但是如果我在ajax请求之后执行它,脚本报告它找不到数据参数,并且它是在需要的html元素之外。

&#xA;&#xA;

我读了jQuery。 append()以某种方式重新排列&lt; script>标签,并将它们放在最后(需要的元素之外),并丢失数据属性。

&#xA;&#xA;

是否还有其他方法可以在ajax请求之后附加脚本需要的数据参数?

&#xA;&#xA;
 我试过&#xA; $('&lt; script&gt;')。attr(/ * all data params * /)& #xA;  
&#xA;&#xA;

但它不起作用。&#xA;请帮助

&#xA;

1 个答案:

答案 0 :(得分:0)

您需要确保在正确的位置获得Ajax请求的结果。由于这是一个异步操作,可能根本就没有填充数据参数。

以下代码在您单击按钮并在回调函数中获取结果时发送请求:

function callback(data) {
  // Got result from AJAX, play with DOM + jQuery here
  console.log("callback called, data : ", data);
  $("#callbackResultId").html(JSON.stringify(data));
}

$(document).ready(function(e) {
  $("#textAjaxButtonId").click(function(){
    $.ajax({ 
      url: '/echo/json',
      type: 'POST',
      dataType: "json",
      data: {
        json: JSON.stringify({
          'attr': 'value'
         })
        },
      success: function(data, status, xhr){  
        callback(data);
      }
    });
  })
});

http://jsfiddle.net/uemaft67/

回调函数是获取Ajax响应的地方,因此可以构建DOM节点以及所需的属性。

希望这有帮助!