2016-07-31 88 views
1

當我按enterAction時,我得到奇怪的響應,所以當我打開螢火蟲它顯示我,我得到一個後響應和得到的迴應(它不會總是發生,但當我離開頁面閒置了幾分鐘讓說5或10這是一種隨機的)XMLHttpRequest發送郵件請求和接收2響應

HTML代碼

<form id="post-form" method="post" action="/v2/TheNet/ajax/ajax.php" onsubmit="return false"> 
    <textarea id="post_message_id" placeholder="Write something..." name="publish"> 
    </textarea> 
    <input type="hidden" value="post_message" name="action"> 
</form> 

JS代碼

$(function() { 

    shiftEnterNewLine('post_message_id', enterAction); 

    $('#post-form').on('submit', function (e) { 
     e.preventDefault(); 
    }); 

}); 
function enterAction() { 
     var xhr = new XMLHttpRequest(); 

     var form = new FormData(document.getElementById("post-form")); 

     xhr.onreadystatechange = function() { 
      if (xhr.readyState == XMLHttpRequest.DONE) { 
       console.log(xhr.responseText); 
       $('#post_message_id').val('');    
      } 
     }; 
     //initiate request 
     xhr.open('post', '/v2/ajax/TheNet/ajax.php', true); 
     xhr.send(form); 
    } 

function shiftEnterNewLine(id, action) { 
    $('#' + id).keydown(function (e) { 
     //enter 
     if (e.keyCode == 13 && !e.shiftKey) { 
      e.preventDefault(); 
      action(); 
      // console.log("a"); 
      // // shift 
     } 
    }); 
} 

響應的圖片>

enter image description here enter image description here 我只想得到帖子回覆,你們知道發生了什麼事嗎?

答: 我覺得jQuery的是不錯,但我的PHP代碼被重定向到該文件夾​​

+0

可能是重定向,請檢查POST響應的標頭 – Musa

+0

請問,如何調用'enterAction()'? –

+0

我剛剛做到了,並且對延遲迴復感到抱歉 – kobbycoder

回答

1

添加的onsubmit =在標籤 「返回false」形式

<form id="post-form" method="post" action="/v2/TheNet/ajax/ajax.php" onsubmit="return false"> 
    <textarea id="post_message_id" placeholder="Write something..." name="publish"> 
    </textarea> 
    <input type="hidden" value="post_message" name="action"> 
</form> 
+0

感謝您的回答,我想知道在提交時返回錯誤的含義是什麼? – kobbycoder

+0

標籤形式:在事件onsubmit:代碼在這裏做提交前,返回false將停止提交 –

0

你應該寫這個代碼。這將解決您的問題

<form id="post-form" method="post" action="/v2/TheNet/ajax/ajax.php" onsubmit="return false"> 
    <textarea id="post_message_id" placeholder="Write something..." name="publish"> 
    </textarea> 
    <input type="hidden" value="post_message" name="action"> 
</form> 
0

對不起打擾我的jQuery代碼是正確的,但我的PHP代碼,當令牌過期header('Localtion: .')我只需要修改這個被重定向。

相關問題