2016-01-24 3 views
0

Из любопытства я пытаюсь отправить несколько форм с помощью jQuery.Использование AJAX для отправки нескольких форм

<html> 
<head> 

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
    <script> 

    // AJAX 
    $(document).ready(function() { 
     $("form1").submit(); 
     $("form2").submit(); 

}); 

    </script> 

</head> 
<body> 

    <form action='http://192.168.2.10/form1.php' method='post' name='form1'> 
     <input type='text' name='foo' value='foo'> 
    </form> 

    <form action='http://192.168.2.11/form2.php' method='post' name='form2'> 
     <input type='text' name='bar' value='bar'> 
    </form> 


</body> 
</html> 

Проблема в том, что я не могу представить оба, поскольку это вызывает ошибку. Друг упомянул что-то о политике одного происхождения, или я ограничен только двумя запросами.

Есть ли способ, которым я могу представить обе формы? Данные, возвращаемые формами, можно игнорировать, поскольку они отражают значения в MySQL.

+0

Что ошибка вы говорите? – smdsgn

+0

Я получаю внутреннюю ошибку сервера, поскольку второй пост отменяет первый. Это не совсем асинхронно. –

+0

Вы можете скопировать/вставить ошибку консоли? – smdsgn

ответ

0

Это может помочь u.

$('form').each(function(){ 
    var form = $(this); 
    $.post(form.attr('action'), form.serialize()); 
}); 

EDIT:

$.ajax({ 
     type: 'POST', 
     dataType: 'json', 
     crossDomain: true, 
     url: 'form1.php', 
     data: $('#form1').serialize(), ///here form1 is the id of the form 
     success: function(responseData) { 

     }, 
     error: function(data) { 

     } 
    }); 
+0

Ничего не случилось ... –

+0

см. Править пожалуйста. перед вызовом перейдите в консоль вашего браузера и посмотрите, каков статус вашего запроса. –

+0

is form1.html файл, в котором находится форма или пункт назначения? –