2010-10-20 7 views
0

Я пытаюсь отправить форму с помощью JQuery. Моя проблема возникает из-за того, что передняя часть (html + js/jquery) и фоновый код не находятся на одном сайте, но он поддерживает JSONP.Отправить форму с помощью jquery

Форма содержит поле ввода файла, поэтому я бы представил данные формы для нескольких частей. Как вы разрешите это?

+2

Вы читали http://en.wikipedia.org/wiki/JSON#JSONP? Это хороший старт для междоменного JSON. Это должно помочь вам написать более конкретный вопрос. (В настоящее время ваш вопрос слишком общий, чтобы его можно было ответить) –

ответ

1

Ваше действие формы будет указывать на сайт, контролирующий сообщение.

<form id="theForm" action="http://someurltoaformsubmitfunction" method="post"> 

, то вы можете позвонить $('#theForm').submit();

-1

EDIT: Не пытайтесь сделать это, он не будет работать для перекрестных сообщений домена. Моя вина за то, что вы недостаточно внимательно прочитали вопрос.

Должна ли быть форма отправки? Если нет, то вы просто могли бы сделать AJAX вызова JQuery что сообщения JSon ему подобные этому:

$.ajax({ 
    url: 'yourUrl.htm', 
    data: 'somethingYouWantToSendToQueryString', 
    datatype: 'json', 
    success: function (data) { 
     //Do something with the data 
    } 
}); 
+0

Вы не можете выполнить кросс-домен запроса Ajax. Это нарушение безопасности в большинстве браузеров. –

+0

cripes, я не поймал это в вопросе. я отредактирую ответ соответствующим образом. –

1

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

document.myform.submit(); 

Однако, если вы хотите разместить кросс-домен с помощью метода AJAX-типа, вы будете иметь трудное время его. Ответ заключается в использовании JSONP, а не JSON в ваших запросах JQuery AJAX.

Для получения более подробной информации см. JQuery Ajax documentation.

Смежные вопросы