2017-12-12 6 views
0

私のmvcアプリケーションでは、@ url.actionを使用して新しいデータを取得し、ページに表示します。私が今持っている問題は、私は@のurl.action後よりJavaScriptをexcuteしたいということです@ Url.Actionの後に他の関数を実行する方法

function find(elm) 
    { 
     var keyWord = $('input', $(elm).parent()).val(); 
     $('#searchResults').load('@Url.Action("Search", "Search")', { 
     searchText: keyWord }); 
     // I want to load here a other function aswell 
    } 

私はこれをどのように達成することができますか?

+1

loadは、コールバック関数を渡す機能をサポートしています。なぜあなたはそれを使用できないのですか? – Fran

+0

[ドキュメント](http://api.jquery.com/load/)をお読みください。 –

答えて

1

あなたは背中のjQueryのcomplelteコールload方法

var keyWord ="dummy"; 
var url='@Url.Action("Search", "Search")'; 

$('#searchResults').load(url, {searchText: keyWord },function(){ 
    alert("Load complete.Do somethign else now"); 
}); 

XHRリクエストが完了したときにコールバック関数が実行されるの内側にあなたの他の機能を実行することができます。

$.postを使用して、doneイベント内でカスタムアイテムを実行することもできます。また、failイベントを結び付けてエラーを捕捉することもできます。

var keyWord ="dummy"; 
var url='@Url.Action("Search", "Search")'; 
$.post(url, {searchText: keyWord }).done(function(r) { 
    $('#searchResults').html(r); 
    alert("ajax call done.Do somethign else now"); 
}).fail(function(x, a, e) { 
    console.log(x); 
    console.log(a); 
    alert(e); 
}); 
関連する問題