Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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成功代码中?_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 如何将内容包含到ajax成功代码中?

Javascript 如何将内容包含到ajax成功代码中?,javascript,jquery,ajax,Javascript,Jquery,Ajax,在我的项目中,ajax的成功功能有很多内容。我将把这些内容放到一个名为textcsc.js的文件中。在ajax中调用include()方法 在成功运行的独立代码之前: $(document).ready(function() { $('#bbs td').dblclick(function (){ ....... $.ajax({ dataType:'json', ........ success:function(data) { va

在我的项目中,ajax的成功功能有很多内容。我将把这些内容放到一个名为textcsc.js的文件中。在ajax中调用include()方法

在成功运行的独立代码之前:

$(document).ready(function()
 { 
  $('#bbs td').dblclick(function (){
  .......
    $.ajax({
    dataType:'json',
    ........
    success:function(data)
    {
    var $myHtml=data.stPrc;
    $myHtml.find("label").filter(function(){return $(this).text()===stChr;}).parent().attr("class", "rightd");
    $myHtml.find('label:contains('+stChr+')').next('label:contains('+stTrnStr+')').parent().next().attr('class','rightd');
    $myHtml.find('label:contains('+stChr+')').next('label:contains('+stTrnStr+')').parent().next().children("div").eq(0).attr('class','speech right'); 
    $myHtml.find('label:contains('+stChr+')').next('label:contains('+stFinStr+')').parent().next().attr('class','rightd');
    $myHtml.find('label:contains('+stChr+')').next('label:contains('+stFinStr+')').parent().next().children("div").eq(0).attr('class','speech right');
    $myHtml.find('label:contains('+stChr+')').next('label:contains('+stHngStr+')').parent().next().children("div").eq(0).attr('class','speech right');
    ......
    }
   });
 });
 });
在所有$myHtml.find内容被移动到textcsc.js之后

$(document).ready(function()
 { 
  $('#bbs td').dblclick(function (){
  .......
   $.ajax({
   dataType:'json',
   .......
   success:function(data)
   {
    var $myHtml=data.stPrc;
    include(textcsc.js);
    ......
   }
   });
  });
 });
它工作失败,我尝试过:

<script src="textcsc.js"></script>
 $(document).ready(function()
 { 
  $('#bbs td').dblclick(function (){
  .......
  $.ajax({
  dataType:'json',
  ........
  success:function(data)
  {
   var $myHtml=data.stPrc;
   chgLftRig($myHtml);//chgLftRig() is in textcsc.js
   ........
    }
   });
  });
  });
它工作正常,我将chgLftRig()从$('#bbs td').dblclick()中取出,它再次失败

我不知道为什么$myHtml不能脱离$('#bbs td').dbclick()。

恐怕include()不是jquery或javascript函数。如果要隔离该代码,最好使用该代码创建一个函数,并在success内部调用它

您可以在另一个文件中使用该函数,并使用标记将其导入到.html文件中

<script src="yourjsfile.js" ></script>

恐怕include()不是jquery或javascript函数。如果要隔离该代码,最好使用该代码创建一个函数,并在success内部调用它

您可以在另一个文件中使用该函数,并使用标记将其导入到.html文件中

<script src="yourjsfile.js" ></script>

您可以这样做:

$.ajax({
  dataType:'json',
  .......
  success:function(data)
  {
   var $myHtml=data.stPrc;
   $.getScript('textcsc.js', function(){
        addSomeData();
   });
   ......
  }
});
然后在textcsc.js文件中

function addSomeData(){
    console.log('some magic here')
}

您可以这样做:

$.ajax({
  dataType:'json',
  .......
  success:function(data)
  {
   var $myHtml=data.stPrc;
   $.getScript('textcsc.js', function(){
        addSomeData();
   });
   ......
  }
});
然后在textcsc.js文件中

function addSomeData(){
    console.log('some magic here')
}

正如A.iglesias所说,并不是所有现代浏览器都在其本机解释器中使用include语法,如果您想以这种方式破坏js代码,我强烈建议您使用ES6语法和NPM处理程序

在ES5中,在当前js之前,生成函数并在js文件内部进行分割,以html语法调用它们(因此函数在使用之前声明)

在ajax调用中:

$.ajax({
  dataType:'json',
  .......
  success:function(data)
  {
   var $myHtml=data.stPrc;
   renderDataFromAjaxCall($myhtml)
   ......
  }
});
您可以检查并开始使用js进行新的开发。
如果你想保持原来的方式,我建议你使用JS设计模式,比如modular,

,正如a.iglesias所说,并不是所有的现代浏览器都在其本机解释器中使用include语法,如果你想以这种方式破坏JS代码,我强烈建议你使用ES6语法和NPM处理程序

在ES5中,在当前js之前,生成函数并在js文件内部进行分割,以html语法调用它们(因此函数在使用之前声明)

在ajax调用中:

$.ajax({
  dataType:'json',
  .......
  success:function(data)
  {
   var $myHtml=data.stPrc;
   renderDataFromAjaxCall($myhtml)
   ......
  }
});
您可以检查并开始使用js进行新的开发。
如果您想保持原有的方式,我建议您使用类似modular的JS设计模式,

您是否将新文件包含在html中以及jquery包含之后?您是否在代码中的任何地方声明了
include()
呢?您是否将新文件包含在html中以及jquery包含之后?您是否声明了
include()
您的代码中的任何地方?它并不像您所说的那样工作$myHtml是来自DB的html代码,$.ajax()在$('#bbs td').dblclick()中;bbs是表id。如果我在$('#bbs td').dblclick()中定义renderDataFromAjaxCall(),它可以正常工作。但是在$('#bbs td').dblclick()之外,它工作失败。因此,与textcsc.php中一样,有一个从会话获取的值。我将该值设置为全局,。而且textcsc.js工作得很好,但它并不像您所说的那样工作$myHtml是来自DB的html代码,$.ajax()在$('#bbs td').dblclick()中;bbs是表id。如果我在$('#bbs td').dblclick()中定义renderDataFromAjaxCall(),它可以正常工作。但是在$('#bbs td').dblclick()之外,它工作失败。因此,与textcsc.php中一样,有一个从会话获取的值。我将该值设置为全局,。而且textcsc.js工作得很好,但它并不像您所说的那样工作$myHtml是来自DB的html代码,$.ajax()在$('#bbs td').dblclick()中;bbs是表id。如果我在$('#bbs td').dblclick()中定义addSomeData(),它可以正常工作。但是在$('#bbs td').dblclick()之外,它无法工作。因此,与$.getScript()相同,它不能像您所说的那样工作$myHtml是来自DB的html代码,$.ajax()在$('#bbs td').dblclick()中;bbs是表id。如果我在$('#bbs td').dblclick()中定义addSomeData(),它可以正常工作。但是在$('#bbs td').dblclick()之外,它工作失败。因此与$.getScript()和