2012-04-10 3 views
1

내가 뭘 잘못하고 있는지 잘 모르겠습니다. 여러 포럼을 검색했지만 해결책을 찾지 못했습니다. 양식에서 값을 제출하기 위해 정의 된 다음 아약스가 있습니다. 이 코드가 호출되고 있는지 확인하는 경고 함수가 있지만 process.php가 실행되고 있지 않습니다. 어떤 아이디어? 여기 아약스 코드 (내 dataString 모든 변수의 값을 포함하고 $ _POST 변수에 아무 문제 없을 것 같습니다.Ajax와 양식 제출 및 PHP

// JavaScript Document 
$(document).ready(function(){ 
$(".button").click(function() { 
    // validate and process form here 
    //alert("yayyy"); 

    var company = $("input#company").val(); 
    var jobfunc = $("input#jobfunc").val(); 
    var location = $("input#location").val(); 
    var overall = $("input#overall").val(); 
    var detail = $("textarea#detail").val(); 
    var pros = $("textarea#pros").val(); 
    var cons = $("textarea#cons").val(); 
    var sr_mgmt = $("textarea#sr_mgmt").val(); 
    var submitted_by = $("input#submitted_by").val(); 
    var classof = $("input#classof").val(); 
    var school = $("input#school").val(); 
    var anonymous = $("input#anonymous").val(); 
    if (anonymous == 'on') 
    { 
     var anonymous_tmp = 'Y'; 
    } 
    else 
    { 
     var anonymous_tmp = 'N'; 
    } 

    var dataString = 
    'company=' + company + 
    '&jobfunc=' + jobfunc + 
    '&location=' + location + 
    '&overall=' + overall + 
    '&detail=' + detail + 
    '&pros=' + pros + 
    '&cons=' + cons + 
    '&sr_mgmt=' + sr_mgmt + 
    '&submitted_by=' + submitted_by + 
    '&classof=' + classof + 
    '&school=' + school + 
    '&anonymous=' + anonymous_tmp; 

    alert (dataString); 
    $.ajax(
    { 
    type:"POST", 
    url:"process.php", 
    data:dataString, 
    success:function() 
    { 
     $('#testimonials').html("<div id='message'></div>"); 
     $('#message').html("<h2>Your information has been submitted!</h2>") 
     .append("<p>Thank you for your help and support.</p>") 
     .hide() 
     .fadeIn(1500, function() 
     { 
     $('#message').append("<img id='checkmark' src='images/check.png'/>"); 
     }); 
    } 
    }); 
    return false; 
}); 
}); 
+0

'firebug'는'firefox' 또는'google chrome development tools'이나 다른 브라우저에 의한 다른 인트로 스펙 션 툴을 사용하여 어떤 일이 벌어지는 지 봅니다. – Nemoden

+0

은 @Nemoden과 동의하지만,이 플러그인 (http://malsup.com/jquery/form)을 사용하면 힘들지 않을 것입니다. – rjmcb

답변

1

process.php 500 오류를 반환하고 그것의 루트에 앉아있다 웹 응용 프로그램은? 당신은 당신의 브라우저에서 개발자 콘솔 로그를 검사하여 발견, 또는

success:function(res, textStatus, jqXHR) { 
console.log(res); 
console.log(textStatus); 
console.log(jqXHR); 
} 
에 에게 기능

success:function() 

을 변경할 수 있습니다 0

그리고 반환되는 것을 검사하십시오.

또한, 대신 양식 값을 구성 설명서, 왜 당신은

$('id_of_form').serialize(); 

를 사용하지 않는 그냥 .post $에 전달?

희망이 있습니다.

+0

안녕 Marck, console.log의 출력은 어디서 볼 수 있습니까? ? 루트 파일에 process.php가있어 문제가되지 않아야합니다. 나는 serialize() 옵션을 한번도 사용하지 않았지만, 그 모습을 살펴볼 것이다. 훨씬 더 깨끗한 것으로 보인다. 귀하의 신속한 답변을 주셔서 감사합니다. – amey1908

+0

안녕하세요. Mark, 저는 console.log의 출력을 썼습니다. 성공으로 상태를 받았습니다. 그래서 process.php 호출되고 있지만 process.php SQL 문을 작동하지 않는 것 같아요. 여기 내 process.php의 내용이 있습니다. $ _POST 변수를 정의하고 process.php에서 SQL 쿼리를 실행했습니다. 왜 그것이 실행되지 않습니다 어떤 아이디어. – amey1908

+0

@ user1322955 process.php 스 니펫을 업로드 할 수 있습니까? 건배 – marknatividad