我有一个运行正常的 JQM 应用程序。我的 JSON 结果是正确的,但我不确定如何在第一次收到数据后停止额外的 AJAX 请求。我假设它链接到我的 pageshow 事件和 jQuery.map() 函数,但不知道如何解决这个问题。
var articles_data;
function showArticles(qandaarticles){
$(document).on('pageshow', '#qanda_articles', function() {
$ajaxphp.postData('getArticlesList', {id : qandaarticles}, getArticlesResponse);
});
}
//AJAX function -
function AJXPHP(feeder_url){
//this.feederurl;
feeder_url += 'services/feeder2.php';
//this.feeder_url =
this.postData = function(func, data, callback){
$.mobile.showPageLoadingMsg();
if (data == null) data = new Object();
data.func = func;
$.ajax({
type: "POST",
dataType : "json",
url: feeder_url,
data: data,
success: function(DATA)
{
callback(DATA);
}
});
$.mobile.hidePageLoadingMsg();
}
}
//Click function
$(document).on("click",".articleLink",function () {
var article = $(this).attr('data-id').substr(4);
showArticle(article);
//alert(article);
});
function showArticle(article){
$(document).on('pageshow', '#qanda_entry', function() {
$('#qanda_text div').empty();
jQuery.map(articles_data, function(obj) {
if(obj.id === article){
$('#qanda_text').html('<h2>'+ obj.title + '</h2>' +
'<p>' + obj.introtext + '</p>');
}
});
});
}