0

问题:我有一个表单,其表单 action="url" 与表单所在的页面 URL 不同。

页面 URL = www.page.com
表单操作 =“ http://www.differentserver.com

问题:发布表单时,它导航到表单操作 URL。

问题:仍然发布到操作 URL 但使用 jquery/ajax 留在表单页面上的最佳方式是什么

此外,操作 URL 会发回一个 xml,说明潜在客户是否通过。

4

4 回答 4

2

您不能使用 AJAX 将数据提交到另一个域。

但是,您可以使用旧的“hack”:

<form action="http://www.differentserver.com/" method="post" target="hiddeniframe">
    ...
</form>
<iframe style="display:none" name="hiddeniframe"></iframe>

这会将表单提交到其他域,但似乎不会影响当前文档。

于 2013-03-06T22:24:16.030 回答
1

您始终可以将其发布到隐藏的 Iframetarget='framename'并挂钩到 Iframe 的 ONLOAD 事件以检测它何时完成。

于 2013-03-06T22:23:43.240 回答
0

在 differentserver.com 之后重定向或使用 curl 执行操作

于 2013-03-06T22:23:44.290 回答
0

Jquery 做得很好

发布整个表格

//Jquery Code
$.post("test.php", $("#form_name").serialize(), function(result){
 // return 
 var aa = result;

});

发布表格的特定部分

//Jquery Code
 /* get some values from elements on the page: */
 var $form = $( this ),
  term = $form.find( 'input[name="s"]' ).val(),
  url = $form.attr( 'action' );

 /* Send the data using post */
 var posting = $.post( url, { s: term } );

 /* Put the results in a div */
 posting.done(function( data ) {
   var content = $( data ).find( '#content' );
  $( "#result" ).empty().append( content );
   });

如果您使用提交按钮,这将阻止表单正常发布。

 /* stop form from submitting normally */
  event.preventDefault();
于 2013-03-06T22:36:17.957 回答