Я хочу два отдельных файла один для ajax-вызовов (API, jquery) и один для кода для визуализации данных (jquery, knockoutjs). API имеет одну функцию для ajax-вызовов, к которой будет передано несколько параметров, включая success- и обработчики ошибок. Причина этого: я хочу определить обработчик success- (который должен быть определен "индивидуально" - в зависимости от вызываемой службы) в файле, который содержит код на стороне клиента.
В 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 файл:
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 ....
Вопросов:
Пожалуйста, дайте мне знать, если вопрос не подходит, и необходимо добавить некоторую информацию. До тех пор, Meru
изменения
success: successHandler,
чтобы:
success: function(data, textStatus, jqXHR) {
successHandler(data, textStatus, jqXHR);
},
Это делает вызов и передает эти аргументы.
Мы предполагаем, что клиент js, содержащий функцию successHandler
, загружен и доступен.
редактировать/обновление:
на самом деле success: successHandler,
проходит через params, так как это функция (duh me) - все равно, оставляя это здесь, поскольку, может быть, объясняет, что происходит более буквально