2012-02-21 2 views
1

Я пытаюсь исправить метод запроса JsonRest. Ничего не делаю швы, чтобы иметь эффект. Ниже я ожидаю, что метод запроса больше не будет работать и просто напишет «обезьяна, пробивающая утку». на консоль. Но, увы, все приложение продолжает работать, игнорируя мою вопиющую попытку сломать его. Нужно ли исправлять конкретный экземпляр?Monkey патч не стрелять. (Угадайте, что обезьяны не могут ударить уток.) ​​

dojo.require("dojo.store.JsonRest"); 
(function(query, options){dojo.store.JsonRest.query=function(){console.info("monkey punching a duck.");};})(); 
aprStore = new dojo.store.JsonRest({"target":"/web/rest/apr/","idProperty":"ID"}); 
var sqry = "?nq=aquerytorun"; 
aprStore.query(sqry).then(function(result){}); 

Основная цель состоит в том, я хочу на подстилающей xhrGet, так что я могу прикрепить обратный вызов к свойству ошибки. Функция .query (функция, функция) игнорирует мою функцию ошибки, переданную в качестве второго параметра. http 302 - это то, что меня сейчас раздражает.

+0

Не забудьте принять ответ Pointy, если он решил вашу проблему. –

ответ

2

Это не 100% ясно, что вы пытаетесь сделать, но я подозреваю, что вам нужно поместить вашу функцию на прототипа объекта этого JsonRest вещь:

dojo.store.JsonRest.prototype.query = function() { ... }; 

Затем экземпляры, сделанные из этого конструктора будет иметь доступ к вашей функции запроса.

+0

Кто-то ушел и добавил, что вернулся ко всем примерам, которые я читал за последние два дня. Спасибо. Мне не хватало .prototype. Мой мозг не видел этого, пока вы его не написали. Еще раз спасибо. – Mark