AJAX:在不刷新页面的情况下发布表单详细信息[重复]

Posted

技术标签:

【中文标题】AJAX:在不刷新页面的情况下发布表单详细信息[重复]【英文标题】:AJAX: Post the Form details without page refresh [duplicate] 【发布时间】:2012-10-05 12:13:04 【问题描述】:

可能重复:How do I send a cross-domain POST request via javascript?

创建了一个带有表单字段的 html 页面,在点击表单时,表单详细信息发布在其他域市场站点中。

<form  method="Post"  action="http://app-o.marketo.com/index.php/leadCapture/save"  name="mktForm_6" id="mktForm_6">

    <label>First Name:</label><span class='mktInput'><input  name="FirstName" id="FirstName" type='text' value=""  maxlength='255' tabIndex='1' />

    <label>Email Address:</label><input  name="Email" id="Email" type='text' value=""  maxlength='255' tabIndex='2'`enter code here` />

    <label>Subscription</label><input class='mktFormHidden' name="Subscription_Expiration__c" id="Subscription_Expiration__c" type='hidden' value="Newsletter Subscription" />
    <input id='mktFrmSubmit' type='submit' style="width: auto; overflow: visible; padding-left: .25em; padding-right: .25em;" value='Submit'  />

    <input type="hidden" name="lpId" value="1030" />

    <input type="hidden" name="subId" value="123" />

    <input type="hidden" name="searchstr" value="" />

    <input type="hidden" name="formid" value="6" />

    <input type="hidden" name="_mkt_disp" value="return" />

    <input type="hidden" name="_mkt_trk" value="id:668-TIV-019&token:_mch-syncfusion.com-1350287989102-87089" />

</form>

但现在我想通过 AJAX 发布表单详细信息,因为普通表单发布会刷新页面。

谁能建议如何在 AJAX 的$.post() 方法中发布详细信息并明确详细信息?

【问题讨论】:

我请求你阅读 jquery ajax ($.ajax) ***.com/questions/298745/… @ChandraSekharWalajapet,$.ajax 如何帮助将表单数据发布到另一个域? 【参考方案1】:

试试这个

var data =  Firstname: $("#firstnametxt")[0].value, Email: $("#txtemail")[0].value;
var jsondata = JSON.stringify(data);
$.ajax(
    type: 'POST',
    url: '@Url.Action("SaveCustomer","Customer")',
    data: jsondata,
    dataType: "html",
    cache: false,
    contentType: "application/json; charset=utf-8",
    success: function (_results, status, message) 
       $("#Targetdiv").html(_results);
    ,
    error: function (_results, status, message) 

    
);

有一个类似的视图模型。

public class Customer

    public String FirstNameget;set;
    public String Emailget;set;


并像这样在控制器中接收数据。

[HttpPost]
public ActionResult SaveCustomer(Customer _Customer)

    //Receive the posted json data as your view model object(_Customer) here
    //Asp.net translate the same for you.

如果您使用的是 IE,请使用 json2.js,可以使用 Here

【讨论】:

他想将表单发布到另一个站点(不同的域)。 $.ajax 在这种情况下无济于事。

以上是关于AJAX:在不刷新页面的情况下发布表单详细信息[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Ajax 和 JavaScript,如何在不使用 JQuery 的情况下发布数组?

如何在不等待回复的情况下发布表单

如何在不模拟多部分表单的情况下发布图像[重复]

PHP 表单提交到 MySQL,无需刷新/重定向

如何使用 Django、Ajax、jQuery 在不刷新页面的情况下提交表单?

如何在不请求 publish_actions 和 manage_pages 权限的情况下发布到我自己的时间线/页面?