0
イントラネットサイト用のクライアントサイドJavaScriptをコーディングしていますが、私が開発していて、正しく動作していないと感じるようになっていました。Javascriptリスナ、ハンドラ、Ajax
私は非同期ポストをたくさんやっているし、ページには、すべてが基本的に同じことを行う(コードスニペット)リスタ/ハンドラ/ XMLHTTPブロックの束でいっぱいにし始めています。これは通常のやり方なのでしょうか、それとももっとエレガントなアプローチですか?
//Select Location
$(document).on('change', '#location-select', function(e){
$.post('/Admin/SubLocations', jQuery.param({ location: $('#' + this.id).val() }),
function(response){
var json = JSON.parse(response);
if(json.error) {
$('#error').html(json.response);
} else {
$('#sublocation-list').html(json.response);
}
});
return false;
});
// New Location
$('#location-list').on('submit', '#newLocation', function(e){
$.post('/Admin/AddLocation', $(this).serialize(),
function(response){
var json = JSON.parse(response);
if(json.error) {
$('#error').html(json.response);
} else {
$('#location-list').html(json.response);
$('#sublocation-list').html('');
}
});
return false;
});
おそらく、両方のイベントに同じイベントハンドラを使用するために、 'if..else'や条件演算子を利用することができます。 http://codereview.stackexchange.com/を参照してください。 – guest271314