2013-09-10 4 views
0

나는 모양과 같이 마크 업 한AJAX 양식 제출 기초

$("#thisisatest").submit(function(){ 
    $.ajax({ 
     type: "POST", 
     url: "http://localhost/api/apis/User.php?req=REQUSERSIGNIN", 
     data: "useremail=" + $("#userLabel").val() + "&userpass" + $("#userPassword").val(), 
     success: function(data) { 
      console.log(data); 
     } 
    }); 
    return false; 
}); 

내 PHP 파일의 함수를 수행 제출은 FF입니다 :

public function userSignIn ($request) {  

    $result[COCNST::TYPE] = COCNST::TYPELOGIN; 

    // key info missing 
    if (empty($request['useremail']) || empty($request['userpass'])) {  
     $result[COCNST::STATUS] = "NO"; 
     $result[COCNST::MESSAGE] = COCNST::ERR_NOEMAILORPASS; 
     $result[COCNST::MESSAGEUSER] = COCNST::ERRMSG_NOEMAILORPASS;      
     return $result;    
    } 

    $response = $this->db->userSignIn($request['useremail']); 

    $pass = trim($request['userpass']);            
    // login does not exist or password incorrect   
    if (! is_numeric($response['user']['id']) || crypt($pass, $response['user']['pass']) != $response['user']['pass']) { 
     $result[COCNST::STATUS] = COCNST::STATUS_NO; 
     $result[COCNST::MESSAGE] = COCNST::ERRMSG_LOGINFAILED; 
     $result[COCNST::MESSAGEUSER] = COCNST::ERRMSG_LOGINFAILED;          
     return $result; 
    } 


    if ($response['user']['signupstatus'] == COCNST::USERSIGNUPEMAILSTATUS_EMAILNOTCONFIRMED) {   
     $result[COCNST::STATUS] = COCNST::STATUS_NO; 
     $result[COCNST::MESSAGE] = COCNST::ERR_EMAILNOTCONFIRMED; 
     $result[COCNST::MESSAGEUSER] = COCNST::ERRMSG_EMAILNOTCONFIRMED;      
     return $result;    

    } 


    $result[COCNST::STATUS] = COCNST::STATUS_YES; 
    $result[COCNST::MESSAGE] = COCNST::OK; 
    $result[COCNST::MESSAGEUSER] = COCNST::MSG_LOGINYES; 
    $result[COCNST::HANDLE] = $response['user']['handle']; 
    $result[COCNST::UUIDUSER] = $response['user']['uuid']; 
    $result[COCNST::USERPIC] = $response['user']['picpath']; 
    $result[COCNST::EMAIL] = $response['user']['email']; 
    $result[COCNST::SIGNUPSTATUS] = $response['user']['signupstatus']; 
    $result[COCNST::TOKENLOGIN] = $response['user']['logintoken']; 

    return $result; 

} 

그리고 이것은 User.php 파일의 processpost 기능을 통해 나에게 공급되고있다 :

public function processPost ($reqtype, $request) { 

    $response = 0; 

    // user confirm email. user confirm link 
    // user reset request. user   

    switch ($reqtype) { 
     case COCNST::REQUSERSIGNIN : 
      $user = new COUser(); 
      $response = json_encode($user->userSignIn($request));   
      break; 
       (rest of code).... 
    } 
} 

아약스없이 양식을 제출하면 작동하는 것처럼 보이지만 아약스를 통해 복제 할 수 없습니다. 내가 어디로 잘못 가고 있니?

답변

1

처럼 될 수있다

url: "http://localhost/api/apis/User.php?req=REQUSERSIGNIN", 

에서 상대 경로를 사용하십시오 (실제로 디렉토리 구조에 따라 다름)

url: "/api/apis/User.php?req=REQUSERSIGNIN", 

또한 데이터 paranthesis {}

이 예제를 참조하시기 바랍니다있을 것이다

data: { name: "John", location: "Boston" }