2014-10-23 2 views
0

이것이 작동하지 않는 이유를 모르겠다. 오, 그래, 난 아직도 새잎이야. 데이터를 db에 게시하는 양식이 있는데 POST 만 사용하면 올바르게 작동합니다. 일부 AJAX와 함께 자바 스크립트 함수에 전달한 다음 제출하면 작동하지 않습니다. 함수에서 제출 한 'GET'작업은 'POST'와 작동하지 않습니다. 'POST'를 사용하면 DB에 잘 연결되지만 양식의 값은 모두 비어 있으므로 db는 모든 필드가 비어있는 새 레코드로 업데이트됩니다. HEre는 바이올린이다. 나는 CSS가 있어야 할 PHP 코드를 넣어 둔다 : http://jsfiddle.net/DuckofDeath/6var7103/. 다음 페이지로의 링크는 스크립트의 모든 피드백은 상단에 그 페이지 어린 아이 보내지입니다 : 서버에 데이터를 게시하는 http://www.modernmediaworld.com/diaboli/register3.php 기능 checkForm() {POST 값을 전송합니다. javascript

 function checkForm(){ 

    if (window.XMLHttpRequest) { 
     // code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
    } else { // code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange=function() { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
      document.getElementById("formFeedback").innerHTML=xmlhttp.responseText;    
     } 
    } 
    xmlhttp.open("POST","addNewSeeker.php",true);   
    xmlhttp.send(); 

    } 
+4

당신은 jQuery를 함께이 태그, 그래서 :

이 지금처럼 내 코드는 모습입니다 $. jQuery가이 저수준 아약스를 처리한다. –

+0

http://jsfiddle.net/robertrozas/6var7103/2/ – Hackerman

+1

당신은'send()'메소드에 질의 문자열 (GET과 같이 전달할 것)을 전달해야합니다. – Sebas

답변

0

나는 간단 뭔가했다 알고, 굴착이 많이 밝혀 후 난 그냥 FormData를 사용했다 :

= e.target, formData = 새로운 FormData (F) F

VAR,

다음을 보낼 때 인수로 사용하십시오.

xhr.open ("POST", f.action, true); xhr.send (formData); 당신은 왜 그냥 $ .ajax` 또는``사용하지 않는, jQuery를 사용하는 경우

document.getElementById("seekerForm").onsubmit = function(e) { 
e.preventDefault(); 

var f = e.target, 
formData = new FormData(f), 
xhr = new XMLHttpRequest(); 
xhr.onreadystatechange=function() { 
if (xhr.readyState==4 && xhr.status==200) { 
    document.getElementById("formFeedback").innerHTML=xhr.responseText; 
    $('#formModal').foundation('reveal', 'open'); 
} 
       } 
xhr.open("POST", f.action,true); 
xhr.send(formData); 

가}

0

,하지만 당신은 전송하지 않을 뭐든지. POST는 서버에 정보 덩어리를 보내도록 설계되었습니다. GET은 페이지를 가져 오는 것입니다. 이 상황에서 여러분은 들었던 것과 함께 formFeedback의 내용을 설정하고 있습니다. 따라서 원하는 경우 GET을 계속하고 jQuery $ .Ajax 호출 (jQuery 태그가 붙어 있기 때문에)로 전환하면 훨씬 쉽게 사용할 수 있습니다.

관련 문제