Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > JQuery jsonp и POST - отправка не работает


Автор: ArNic 15.5.2009, 14:34
Есть домен "lef-dev" где расположен JavaScript и есть домен "developer", где расположен Php скрипт :
Код

function msgSend(){
    msg = $('input[name=msg]').attr('value');
    $.ajax({ 
        dataType: "jsonp",
        url: "http://developer/?v=send",
        type: "POST",
        data: {"msg":msg},
        success:function(){
            $('input[name=msg]').attr('value','')
        }
    });
}

В FireBug - сообщение "uncaught exception: Access to restricted URI denied (NS_ERROR_DOM_BAD_URI)"
Вроде все по правилам написано а всеравно кроссдоменная отправка Post не работает

Автор: ksnk 15.5.2009, 16:13
url: "http://developer/?v=send?", Свои у jquery тараканы...
документацию, однако, читать надо smile
       

Автор: ArNic 15.5.2009, 16:24
Написал так- не получилось. До этого пробовал кэллбэк дописать - реакция та-же.

Добавлено через 2 минуты и 2 секунды
Может версия jquery не та? у меня 1.3.2

Автор: ksnk 15.5.2009, 17:14
ArNic, по симптомам выходит, как будто этот jquery положил на jsonp и посылает запрос обычным xmlHttp-реквестом. 

Скачать версию непожатую и поотлаживать. Я пока такими наворотами не пользовался...

Автор: ArNic 16.5.2009, 10:03
Попробую

Автор: ArNic 17.5.2009, 20:48
Попробовал - не понял в чем дело smile если не трудно помогите найти проблему.
Ошибку выдает в строке 3517 в версии 1.3.2:
Код

xhr.open(type, s.url, s.async);

не пойму что не так, почему именно здесь а не где-то ещё. Получается с типом проблемы что ли? так он по умолчанию передает GET и когда я пишу POST - появляется ошибка безопасности (см.начало темы)
Очень прошу помогите! В php с чужим кодом я могу разобраться, а вот с чужим js у меня проблема. Т.е. во фреймворке jquery я смогу найти исключение (ошибку) только через несколько месяцев.

Автор: ArNic 20.5.2009, 00:52
нарвался на аналогичную проблему в http://groups.google.com/group/jquery-en/browse_thread/thread/e85157ac8a131e0e
Кратко о том что там сказано: 
Цитата

Отправка json не возможна методом post - можно использовать только метод get

А значить придется большой текст передавать формой, с последующей перезагрузкой страницы :( это плохо. Если кто-то придумает решение данной проблемы - буду рад услышать.

Автор: ksnk 20.5.2009, 07:24
ArNic, Дык, jsonp, вроде именно для GET'а затачивался... Он выглядит как создание нового элемента <script> с нужным соурсом....
Можно заюзать несколько http://plugins.jquery.com/project/jquery-post или http://plugins.jquery.com/project/crossframe

Это какой-то аналог jsHttpRequest'а от Котерова, с одним  iframe-транспортом. Возможно еще какие плагины в свалке плагинов на jQuery.com еще есть...



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)