Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.07.2013, 18:41
Аспирант
Отправить личное сообщение для alexandr2006 Посмотреть профиль Найти все сообщения от alexandr2006
 
Регистрация: 30.01.2013
Сообщений: 54

javascript запуск функции
$("#other_source_list .s_other_source").live("click",function(e){
    e.preventDefault();
    getOneNews({"news_id":$(this).attr("data-id"),"func":function(){
        $("#other_source_list").css("dispaly","none");
            location.href="/news/"+data.data.id+"-"+data.data.url;
    }
});
})

Сама ф-я:
function getOneNews(obj){
 
$.ajax({
        url:"/FrontAjax/oneNews",
        type:"POST",
        data:'news_id='+obj.news_id,
        timeout:3000,
 
        error: function(){
            showError("Новость недоступна. Обновите страницу и попробуйте ещё раз")
        },
        success:function(data){
            if(obj.func)     obj.func.call();        
 
        }
    });
}


Вопрос - как результат ajax запроса передать внутрь call, а то у меня ошибка: ReferenceError: data is not defined
location.href="/news/"+data.data.id+"-"+data.data.url;
Ответить с цитированием
  #2 (permalink)  
Старый 15.07.2013, 18:53
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

может так)
obj.func.call(data);
Ответить с цитированием
  #3 (permalink)  
Старый 15.07.2013, 19:02
Аспирант
Отправить личное сообщение для alexandr2006 Посмотреть профиль Найти все сообщения от alexandr2006
 
Регистрация: 30.01.2013
Сообщений: 54

Сообщение от animhotep Посмотреть сообщение
может так)
obj.func.call(data);
тоже самое
Ответить с цитированием
  #4 (permalink)  
Старый 15.07.2013, 19:09
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Во первых data должна быть в аргументах вызываемой функции: function(data) {...}
Во, вторых в функцию call первым аргументом указывается контекст, а последующими - уже передаваемые агрументы, так что:
obj.func.call(null, data)

но можно ведь проще:
obj.func(data)
Ответить с цитированием
  #5 (permalink)  
Старый 15.07.2013, 19:16
Аспирант
Отправить личное сообщение для alexandr2006 Посмотреть профиль Найти все сообщения от alexandr2006
 
Регистрация: 30.01.2013
Сообщений: 54

Сообщение от danik.js Посмотреть сообщение
Во первых data должна быть в аргументах вызываемой функции: function(data) {...}
Во, вторых в функцию call первым аргументом указывается контекст, а последующими - уже передаваемые агрументы, так что:
obj.func.call(null, data)

но можно ведь проще:
obj.func(data)
Вау, да ты крут!!!!!! Завелась машинка.

Еще вопрос-
<script src="https://apis.google.com/js/plusone.js">{parsetags: 'explicit','lang': 'ru_RU'}</script> - что за запись такая и как ее переписать? Хочу попробовать через .getScript() эту беду грузить
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск php файла из javascript flexzdk Элементы интерфейса 1 19.10.2012 09:48
Есть ли в JavaScript аналог функции exec() из php? lorddarkside Общие вопросы Javascript 3 22.12.2010 12:37
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
Есть ли на JavaScript аналог PHP функции include?) FirstFrost Общие вопросы Javascript 3 13.07.2010 10:13