AJAX调用同一域中的不同页面有效,但不加载所有内容

时间:2017-10-31 07:36:29

标签: javascript ajax

所以,一点上下文:我试图在同一域中对网页进行ajax调用,以便在我在第一页上指定客户端时立即显示电话号码。我确实得到了数据,但似乎没有加载整个页面。

我需要这个:

<div id="1">
    <div id="2">
        <a id="ineedthis"></a>
    </div>
</div>

而是它给了我这个:

<div id="1">
</div>

这是一个我正在编写脚本的网站,因为我无法编辑源代码。这是通过我们的ERP计划管理的,并且在可定制性方面非常有限。

我最好的猜测是目标网页还在加载来自数据库的信息,但我的ajax调用会在此之前返回网页。

这是我的js代码:

function updateClasses(){

  var link = $('a[href^="/organisatie-beknopt-prs?BcId="]');

  var href = "https://52134.afasinsite.nl" + link.attr("href");

  console.log(href);

  if(href !== "https://52134.afasinsite.nlundefined"){
               $.ajax({
               url:href,
               type:'GET',
               success: function(data){

               var tel = $(data).find("#P_C_W_Title_Content");

               console.log(tel);
               }                  
            });
       }
}

    setInterval(updateClasses, 1000);

我每秒运行一次以检查第一页上输入字段的更改,我不知道是否有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

首先,您可以在检测到更改后尝试运行脚本/功能。

有些事情:

$('input[name="{inputFieldName}"]').on('change',function(){
    updateClasses();
});
//You can also use "keyup" instead of "change", depending on the type of action that you are looking for.

对于Ajax,您可以尝试使用Promises。基本上,设置ajax调用,然后设置&#34; .done&#34; ajax调用的情况已经完成并收到了一些结果。 A&#34; .fail&#34;也可用于捕获与代码无关的问题。

function updateClasses(){

   var link = $('a[href^="/organisatie-beknopt-prs?BcId="]');

   var href = "https://52134.afasinsite.nl" + link.attr("href");
   var getPhonePromise = $.ajax({
         url: href
   });

    getPhonePromise.done(function(data) {
        var tel = $(data).find("#P_C_W_Title_Content");
        console.log(tel);
    });
    getPhonePromise.fail(function(errRes) { console.log(errRes);});
}