jQuery的不阿贾克斯

问题描述:

称为页面的工作,如果我有在一个页面下:jQuery的不阿贾克斯

$(document).ready(function() { 
        alert('moo'); 
       }); 

它会显示警告,当我查看该页面,但如果该网页是通过Ajax叫那么警报不会显示...任何想法为什么?或者如何解决这个问题?

注:这是测试JavaScript,我实际上并不显示一个警告,我真正的应用程序

感谢

阿贾克斯爵士的要求:

$(document).ready(function() 
    { 
     $('ul#ui-ajax-tabs li a').click(function (e) 
     { 
      e.preventDefault(); 
      $("ul#ui-ajax-tabs li").removeClass("selected"); 
      $(this).parents('li').addClass("loading"); 
      var url = $(this).attr("href"); 
      var link = $(this); 
      $.ajax({ 
       url: url, 
       success: function (responseHtml) 
       { 
        //$('div#ui-tab-content').html($(responseHtml)); 
        $('div#ui-tab-content').html($(responseHtml).find('div#ui-tab-content > div#ui-ajax-html')); 
        $(link).parents('li').addClass('selected'); 
        $("ul#ui-ajax-tabs li").removeClass("loading"); 
        History.pushState(null, $(responseHtml).filter('title').text(), url) 
       }, 
       error: function (responseHtml) 
       { 
        $('div#ui-tab-content').html('<div class="message error"><p><strong>Something went wrong...</strong> Please contact the Administrator!</p></div>'); 
        $(link).parents('li').addClass('selected'); 
        $("ul#ui-ajax-tabs li").removeClass("loading"); 
        History.pushState(null, $(responseHtml).filter('title').text(), url) 
       }, 
       statusCode: 
       { 
        404: function (responseHtml) 
        { 
         $('div#ui-tab-content').html('<div class="message error"><p><strong>Error 404 (Not Found)</strong> Please contact the Administrator!</p></div>'); 
         $(link).parents('li').addClass('selected'); 
         $("ul#ui-ajax-tabs li").removeClass("loading"); 
         History.pushState(null, 'Error 404 (Not Found)', url) 
        }, 
        500: function (responseHtml) 
        { 
         $('div#ui-tab-content').html('<div class="message error"><p><strong>Error 500 (Internal Server Error)</strong> Please contact the Administrator!</p></div>'); 
         $(link).parents('li').addClass('selected'); 
         $("ul#ui-ajax-tabs li").removeClass("loading"); 
         History.pushState(null, 'Error 500 (Internal Server Error)', url) 
        } 
       } 
      }); 
     }); 
    }); 
+0

你可以给我们你的ajax代码吗? – genesis

+0

定义如何通过ajax-request调用页面。哪里包含响应? –

+0

您可以在Google Chrome或Mozilla Firefox上测试吗?键入Ctrl + Shift + J并查看是否显示错误。 –

你的网页是文本。您使用的浏览器恰好在您从服务器请求时解释它。

如果你正在做一个ajax请求,内容将作为一个字符串等待你做一些事情。无论它上面有脚本,它都不会自动执行。

您必须创建一个脚本元素作为innerText,并将其附加到DOM以使其由浏览器执行。当你调用AJAX,但你可以返回一个js脚本文本和使用eval执行它在页面上()函数

您的远程js代码通过Ajax,你的意思是你正在从服务器请求一些HTML(动态的或其他的),它恰好包含这个JavaScript?

如果是这样,该代码段应该运行,但直到您将其插入到DOM中。

如果您正在使用jQuery,从服务器获取HTML,并用它替换DOM元素的内容是“负载”方法的最典型方式:

jQuery .load()

当你说你是“呼叫”页面不执行

原因警报没有按对Ajax请求的提出是因为“文档”已经执行了“就绪”状态。

从js文件中移除$(document).ready()(请在其中放置alert()),然后尝试通过ajax加载它。它应该工作。

+0

试过了,它仍然不起作用。 – Cameron