2013-03-20 3 views
0

AJAX의 아주 기본적인 기술을 사용하여 AJAX를 사용하여 데이터베이스에 양식을 저장하고 있습니다.AJAX를 사용하여 mysql에 데이터를 저장하는 데 문제가 발생했습니다.

그러나 몇 가지 문제가 있습니다.

검색된 모든 항목에서 jQuery 코드를 얻었지만 단순한 AJAX로만이 작업을 수행하려고합니다.

HTML 양식 :

<form id="submitcourse" name="submitcourse" method="get"> 
<p>Course Name: &nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="cvalue" id="cvalue" /></p> 
<a href="#" onclick="submitformwithajax();">Successfull</a> 

</form> 
<span id="result">.</span> 

AJAX 코드 :

AJAX 코드 위의 목적은 내가 데이터를 작업 할 수있는 파일을 do.php하는 형태로 정보를 보내는 것입니다

<script type="text/javascript"> 
    function GetXmlHttpObject() 
    { 
     if(window.XMLHttpRequest) 
     { 
      return new XMLHttpRequest(); 

     } 
     if(window.ActiveXobject) 
     { 
      return new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     return null; 

    } 
    function submitformwithajax() 
    { 
     var myAjaxPostrequest=new GetXmlHttpObject(); 

     var coursename=document.submitcourse.cvalue.value; 

     var parameter="cvalue="+coursename; 

     myAjaxPostrequest.open("GET", "do.php", true) 
     myAjaxPostrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
     myAjaxPostrequest.send(parameter) 
     myAjaxPostrequest.onreadystatechange=function{ 
      if(myAjaxPostrequest.readyState==4){ 
       if(myAjaxPostrequest.status==200){ 
        document.getElementById("result").innerHTML=myAjaxPostrequest.responseText; 
        document.getElementById("submitcourse").style.display="none"; 
       } 
       else 
       document.getElementById("submitcourse").innerHTML="An error has occured making the request"; 

      } 
     } 
    } 




    </script> 
받았습니다.

do.php 파일 :

<?php 
$course=$_REQUEST['cvalue']; 
echo "dddd".$course; 


?> 

지금 나는 do.php 파일의 값을 얻을 수 아니에요,

참고 저를 도와주세요 : 내가 할 수있는 코드를 이 jQuery를 사용하여,하지만 난이 방법에서만 그것을하고 싶다. 기본 AJAX에 관해 학생들을 가르치는 것입니다. 난 당신이하지 않아도 알았어있어 박쥐

+0

그래서 오는 것을 출력을 사용하려면? –

+0

php 파일에 어떤 데이터가 전송되고 있는지 확인하려면 방화 광과 같은 애드온을 사용해보십시오. 또한이 var_dump ($ _ GET)를 PHP 파일에서 사용해보십시오. – Suyash

+0

@YogeshSuthar, 출력이 없습니다. –

답변

6

오른쪽() 함수의 정의 뒤에 ...

myAjaxPostrequest.onreadystatechange=function{ 

myAjaxPostrequest.onreadystatechange=function(){ 

이 도움이된다면 알려줘해야합니다!

+0

내가 그것을 놓쳤다 고 생각할 수 없다, 나는 그것이 우스워 보인다라고 생각했다. – dockeryZ

+0

아직 작동하지 않습니다. ( –

0

보기 당신은 getElementsByName을 사용하여 멀리 얻을 수없는 경우 대신

var coursename=document.getElementsByName('cvalue')[0].value; 
+0

처음 시도했을 때 반응이 없었기 때문에 뭔가 개선 된 것 같지만 지금은 적어도 http://prntscr.com/x2hu2 오류가 표시되어 있기 때문에 시도했습니다. –

+0

PHP의 isset 기능 .. – dockeryZ

+0

그리고 또한, 나는 훨씬 적은 교육, $ _REQUEST를 사용하는 것에 대해 조언합니다.POST 값을 살펴 보려면 $ _POST 수퍼 글로벌을 사용해야합니다 .. $ _GET에 대해서도 같은 값을 사용해야합니다. – dockeryZ

1

문제는 : 당신이 GET 요청을 전송하기 때문에, 코드를 변경, 정확하지 않은 전송() 내부에 매개 변수를 넣어 to :

Ajax GET을 사용하면 매개 변수가 URL과 섞여 있어야하지만 코드는 POST 방법에 적합합니다.

하거나 POST가

myAjaxPostrequest.open("POST", "do.php", true) 
myAjaxPostrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
myAjaxPostrequest.send(parameter) 
+0

고마워요. 나는 그것을 놓쳤습니다.. 고마워요. :) –

+0

좋아, 할 수있어. 지금 대답을 수락하십시오 ... –

관련 문제