私は、いくつかの異なるAjaxハンドラにすべてを代行する代わりに、すべてのAjax呼び出しを処理するJavaScriptオブジェクトを作成しようとしています。jQuery AJAX HAndlingの問題
だからここに私のAJAXハンドラ内で呼び出さしようとしている
私のPHPファイルが内のディレクトリは、例えばページに関連する名前が付けられ、AJAXというディレクトリに置かれ、これまで私が持っているものですジョブページには独自のディレクトリがあります。これらのディレクトリの中で私は関連するPHPファイルを配置しました。私のAJAX Handlerオブジェクトコードになりましたので、
:ので、このファイルと呼ばれ、正常に動作して、離れてperformAjaxCallがAJAX呼び出されたときから完璧に動作しますが、データが返されるが、私は未定義と見られている
function ajaxHandler(pageName,functionCall){
this.pageName = pageName;
this.functionCall = functionCall;
// set functions
this.getPage = getPage;
this.setPage = setPage;
this.getFunctionCall = getFunctionCall;
this.setFunctionCall = setFunctionCall;
this.performAjaxCall = performAjaxCall;
}
// accessor for current page
function getPage(){
return this.pageName;
}
// accessor for setting the current page
function setPage(page){
this.pageName = page;
}
// accessor for retrieving the current functionCall
function getFunctionCall(){
return this.functionCall;
}
// accessor for setting the current function call
function setFunctionCall(func){
this.functionCall = func;
}
// perform the loaded ajax call
// DATA : must be in the form of JSON
function performAjaxCall(data){
$.ajax({
type : 'POST',
url : '/ajax/'+ this.pageName + '/' + this.functionCall + '.php',
dataType : 'json',
data : data,
success : function(data){
return data;
},
error : function(xhr, ajaxOptions, thrownError){
return {"error":true,"msg":thrownError};
}
})
}
あなた
function getActiveJobs(initPage){
var ajh = new ajaxHandler('jobs','getActiveJobs');
var req = {'page' : 1};
var data = ajh.performAjaxCall(req);
alert(data.error);
}
警告戻り、未定義の例を示しますが、私にはJavaScriptを有効にし、データが返されるのを待っていないと、このようなデータとしてはまだ定義されていないので、それは疑うが、私は私が思っわかりませんよ自分自身を導く前にここに尋ねるブラインド路地。
を成功またはエラー。 – Sriram