簡體   English   中英

Ajax發送空的POST數據,但僅在IE和Firefox中

[英]Ajax sends empty POST-data but ONLY in IE and Firefox

我有一個奇怪的問題(我一直在尋找但沒有成功)。 我正在使用Ajax將表單發布到PHP腳本。 在Chrome,Opera和Safari中運行良好。 但是,在IE和Firefox中,表單都可以正確發送到腳本,但是缺少表單數據。 缺少POST數據時,我已確保腳本返回錯誤。 我試圖搜索這個問題已經好幾個小時了,但是沒有任何運氣。 你是我最后的希望。

這是AJAX代碼(帶有一些Javascript):

  <script type="text/javascript">
  $(document).ready(function() {

  $("#latestNewsForm").on('submit', function(event) {
    event.preventDefault();

    $.ajax({
        url         : "http://devserver/site/php/getLatestArticles.php",
        type        : "POST",
        data        : new FormData(this),
        contentType : false,
        cache       : false,
        processData : false
    }).done(function (data) {
        $("#formResponse").html(data);
    });

   });
  });
  </script>

形式如下:

<form id="latestNewsForm"  method="post">
    <input type="submit" name="currentPage" id="firstPage" value="1">
</form>

預先感謝!

Ohgodwhy的評論可能是正確的。

將數據放在該ajax調用之外的變量中。 this可能是與您在不同瀏覽器中期望的有所不同。

嘗試這個:

$("#latestNewsForm").on('submit', function(event) {
    event.preventDefault();

    var data = new FormData(this);

    $.ajax({
        url         : "http://devserver/site/php/getLatestArticles.php",
        type        : "POST",
        data        : data,
        contentType : false,
        cache       : false,
        processData : false
    }).done(function (data) {
        $("#formResponse").html(data);
    });

   });

另一種可能與您的“提交”按鈕有關:“ 提交翻轉”按鈕在FF和IE中不起作用

嘗試這個:

$.ajax({
    type: "POST",
    url: "/fetchdata",
    data:JSON.stringify(sid),
    success: function(result) {
        alert('ok');
    },
    error: function(result) {
        alert('error');
    }
});

暫無
暫無

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

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