我想要两个单独的文件,一个用于ajax-calls(API,jquery),另一个用于可视化数据的代码(jquery,knockoutjs)。 API有一个用于ajax调用的函数,几个参数将被传递给它,包括成功和错误处理程序。 原因:我想在包含客户端代码的文件中定义成功处理程序(应该能够“单独”定义 - 取决于所调用的服务)。
在API文件中:
var GET_ALL_WORDS = '/dict/rest/dictionary';//get
...
/** Parameters:
* GET/POST
* URL
* data: word record - json OR searchedWord, single word- String OR null
* successHandler - function handling returned data (json)
* error-handler - general handler for errors, defined in this file
**/
function dictRPCcall(method, url, data, successHandler, failedHandler) {
console.log("in dictRPCcall");
$.ajax({
type: method,
contentType: "application/json",
data: data,
url: url,
success: successHandler,
error: failedHandler,
dataType: "json"
});
}
//functions that will be called by client-side.
function getWordsRPCcall(successHandler) {
console.log("in WordsRPCcall")
dictRPCcall(GET, GET_ALL_WORDS, null, successHandler, failedREST);
console.log("afer ajax-call in WordsRPCcall")
}
function insertWordRecordRPCcall(wordRecord, successHandler) {
dictRPCcall(POST, INSERT_WORD_RECORD, wordRecord, successHandler, failedREST);
}
...
在client-js-file中:
function successHandler(data, textStatus, jqXHR ){
//handling responded data from Server
console.log("successHandler " + "textstatus:" +textStatus + "data: " + data);
}
...calling getWordRPCcall and passing in the success-handler ....
问题:
如果问题不好,请告诉我,并且需要添加一些信息。 这么久,梅鲁
答案 0 :(得分:1)
改变
success: successHandler,
为:
success: function(data, textStatus, jqXHR) {
successHandler(data, textStatus, jqXHR);
},
这会使调用并传递这些参数。
我们假设此处包含函数successHandler
的客户端js 已加载并可用。
修改/更新强>
实际上success: successHandler,
越过了参数,因为它 函数( duh me) - 完全相同,把它留在这里,因为,或许可以解释更真实地发生了什么