2010-01-26 6 views
2

만약 내가 jQuery로 아약스 요청을 할이 html-form submit에 해당하는 jQuery ajax는 무엇입니까?

<form method="POST" action="http://.../file.php"> 
    <input type="text" name="data" id="data" /> 
    <input type="submit" /> 
</form> 

같은 HTML 양식을 가지고 있지만, 나는이 제출 보이지 않는 양식을 사용하지 않습니다. 그러나 어떻게 든 나는 그것을 작동시키지 않는다. 내 시도는

$.ajax({ 
    type: "POST", 
    url: "http://.../file.php", 
    data: d, 
    success: function(msg){ 
     alert("Data Saved: " + msg); 
    } 
}); 

d 난 그냥 일반 텍스트로 위의 양식 필드에 붙여 넣을 것 JSON 개체를 포함했다이었다. 성공 함수가 실행되지만 서버에서 응답을 얻지 못합니다 (즉, 뭔가 잘못 처리되어야 함을 의미합니다.)

답변

2

같은 도메인에 게시 하시겠습니까? Ajax는 교차 도메인에서 작동하지 않습니다.

+0

젠장, 그건 실제로 문제였습니다. 내가 "파일로"HTML을 여는 대신 localhost를 통해 실행하면 모든 것이 잘 작동합니다 :-) –

2

당신은

function postData (data) { 
    $.ajax({ 
     type: "POST", 
     url: "http://.../file.php", 
     data: { data: data }, 
     success: function(msg){ 
      alert("Data Saved: " + msg); 
     } 
    }); 
}; 

postData("xyz"); 

을 통해 보내 JSON 개체를 만들 필요가 아니면이 더 일반적인을하기를 원한다면 당신은 마지막 하나는 좀 더 유연하게 할 수 있습니다

function postData (data) { 
    $.ajax({ 
     type: "POST", 
     url: "http://.../file.php", 
     data: data, 
     success: function(msg){ 
      alert("Data Saved: " + msg); 
     } 
    }); 
}; 

postData({input1: "x", input2: "y", input3: "z" }); 

할 수 끊임없이 AJAX에 대한 입력을 다시 작성할 필요가 없습니다.

0

data은 게시물 요청이 성공하기위한 키/값 쌍의 집합이어야합니다. 임의의 자바 스크립트 객체를 지정할 수 없으며 폼의 html을 문자열로 붙여 넣기 만하면됩니다. d이 키/값 쌍 세트가 아닌 경우 요청이 잘못됩니다.

다음은 유효한 데이터 객체의 예 :

var d = {foo:'bar',fizz:'buzz'}; 
0

jQuery Form Plugin이 당신의 코드를 건조하는 데 도움이 될 것입니다.

<html> 
<head> 
    <script type="text/javascript" src="jquery-1.3.2.js"></script> 
    <script type="text/javascript" src="jquery.form.js"></script> 

    <script type="text/javascript"> 
     // wait for the DOM to be loaded 
     $(document).ready(function() { 
      // bind 'myForm' and provide a simple callback function 
      $('#myForm').ajaxForm(function() { 
       alert("Thank you for your comment!"); 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <form id="myForm" action="comment.php" method="post"> 
     Name: <input type="text" name="name" /> 
     Comment: <textarea name="comment"></textarea> 
     <input type="submit" value="Submit Comment" /> 
    </form> 
</body> 

더 많은 옵션이 their website에 있습니다.

관련 문제