簡體   English   中英

使用jQuery和/或AJAX發布HTML表單

[英]Posting HTML form using jQuery and/or AJAX

我/已經完全困惑了幾天,無法將我的表格提交到服務器。 我嘗試了互聯網提供的所有指南,教程,示例和論壇建議,但仍然無濟於事。

我們可以將此表單發布到可變數量的不同服務器上,這可以通過使用“ id”作為變量的選擇/選項下拉列表來完成。 我們使用一個按鈕來提交表單並接收一個XML響應,我們需要以XML格式查看它。 必須將此XML響應定向為在不同框架集中的iframe中顯示。 下面是代碼的小竅門。

<script type="text/JavaScript" src="jQuery-1.12.4.js">
    $("#Form51").submit(function (e) {
        var url = "https://website.com:1234"; 

        $.ajax({
            type: "POST",
            url: url,
            data: $("#Form51"), 
            success: function (data) {
                alert(data); 
            }
        });

    });

</script>
</head>
<body> 

<form method="POST" name="form51" target="formresponse" id="form51">

<button>Submit</button>


....data
..data
data
</form>
</body>

如果有人能幫助解決我的問題,謝謝您:/

如果要將數據提交到數量可變的服務器(每個服務器使用不同的URL),則跨域引用共享( CORS )可能會遇到問題。 您可能需要對Web服務器進行一些更改,以向瀏覽器表明這些其他域是有效且受信任的,然后它們才能提交給其他域並顯示來自其他域的響應。

您將需要調整Web服務器以插入一些其他HTTP標頭。 例如:

Access-Control-Allow-Origin: http://foo.com
Access-Control-Allow-Methods: PUT, DELETE

apache上,這可以通過添加到以下配置文件之一來完成:

Header set Access-Control-Allow-Origin "http://foo.com"

我相信表單正在嘗試提交而不在您的js中運行代碼。 它默認為Submit操作,這不是您想要的。 嘗試在事件處理程序之后立即添加e.preventDefault():

<script type="text/JavaScript" src="jQuery-1.12.4.js">
$("#Form51").submit(function (e) {
    e.preventDefault(); //<-----------------------------------try this here
    var url = "https://website.com:1234"; 

    $.ajax({
        type: "POST",
        url: url,
        data: $("#Form51"), 
        success: function (data) {
            alert(data); 
        }
    });

});

</script>
</head>
<body> 

<form method="POST" name="form51" target="formresponse" id="form51">

<button>Submit</button>


....data
...data
data
</form>
</body>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM