在发出 AJAX 请求后触发 JS/jQuery

fire js/jquery after ajax request is made

本文关键字:JS jQuery 请求 AJAX      更新时间:2023-09-26

嗨,我在加载 htmlpage 后进行了 ajax 调用

<body onload="init_myfunc();">
<div class="left searchtop" id="suggestionbox" align="center">
-----------------------

我的init_myfunc()是...

function init_myfunc(lenletters)
{
  if (typeof lenletters =='undefined' ) {
    var search = '{{q_url}}';
    var query = search.split('?q=')[1];
    query = query.split('&')[0];
    var loc = search.split('&amp')[1];
    loc = loc.split('=')[1];
    var search_val = $("#autosuggest").val();
    requestData = {};
    if(typeof(Storage)!=="undefined"){
      requestData['rec_searches'] = localStorage.getItem('saved_searches');
    }
    requestData['page'] = 'searchboxlong'
    requestData['spellcheck'] = query;
    if(loc!= 'all')
      requestData['location'] = loc;
    $.get('/college-search/autosuggest/', requestData, function(data){$('#suggestionbox').html(data);});
   //$("#autosuggest").val(query); -- This is not working
  }
}

现在我想在 ajax 调用完成后调用这段代码

$("#autosuggest").val(query);

我尝试在我的 ajax 调用下方编写它,但它不起作用。一旦 ajax 加载...文本框变为空

他们是在ajax调用完成后设置文本框值的一种方式

谢谢

你必须在成功回调中执行此操作。

 $.get(
     '/college-search/autosuggest/',
     requestData,
     function(data){
         $('#suggestionbox').html(data); 
         $("#autosuggest").val(query);
     }
 );