복붙노트

[JQUERY] 어떻게 $ 아약스 POST에 매개 변수를 전달하는 방법?

JQUERY

어떻게 $ 아약스 POST에 매개 변수를 전달하는 방법?

해결법


  1. 1.나는 간단한 경우의 $ .post 또는 $ 갔지 구문의 jQuery의 사용을 만들기 위해 당신을 추천 할 것입니다 :

    나는 간단한 경우의 $ .post 또는 $ 갔지 구문의 jQuery의 사용을 만들기 위해 당신을 추천 할 것입니다 :

    $.post('superman', { field1: "hello", field2 : "hello2"}, 
        function(returnedData){
             console.log(returnedData);
    });
    

    당신이 경우 실패 잡을 필요가 있다면, 바로이 작업을 수행 :

    $.post('superman', { field1: "hello", field2 : "hello2"}, 
        function(returnedData){
             console.log(returnedData);
    }).fail(function(){
          console.log("error");
    });
    

    당신은 항상 JSON 문자열을 보내는 경우 또한, 당신은 맨 끝에 $ .getJSON 또는 하나 개 이상의 매개 변수를 .post $를 사용할 수 있습니다.

    $.post('superman', { field1: "hello", field2 : "hello2"}, 
         function(returnedData){
            console.log(returnedData);
    }, 'json');
    

  2. 2.GET 메소드를 사용하여 시도,

    GET 메소드를 사용하여 시도,

    var request = $.ajax({
        url: 'url',
        type: 'GET',
        data: { field1: "hello", field2 : "hello2"} ,
        contentType: 'application/json; charset=utf-8'
    });
    
    request.done(function(data) {
          // your success code here
    });
    
    request.fail(function(jqXHR, textStatus) {
          // your failure code here
    });
    

    당신은 POST 방식으로 URL의 매개 변수를 볼 수 없습니다.

    편집하다:


  3. 3.Jquery.ajax는 것이 GET 데이터에 대한 않는다는 것을 자동으로 방법을 POST 데이터를 인코딩하지 않습니다. JQuery와 당신의 데이터가 요청 본문에 추가 할 사전 형식의 수 회선을 통해 직접 전송 될 것으로 기대하고있다.

    Jquery.ajax는 것이 GET 데이터에 대한 않는다는 것을 자동으로 방법을 POST 데이터를 인코딩하지 않습니다. JQuery와 당신의 데이터가 요청 본문에 추가 할 사전 형식의 수 회선을 통해 직접 전송 될 것으로 기대하고있다.

    해결책은 대부분의 스크립트 처리 POST 요청이 기대하는 쿼리 문자열을 구축하기 위해 jQuery.param 기능을 사용하는 것입니다.

    $.ajax({
        url: 'superman',
        type: 'POST',
        data: jQuery.param({ field1: "hello", field2 : "hello2"}) ,
        contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
        success: function (response) {
            alert(response.status);
        },
        error: function () {
            alert("error");
        }
    }); 
    

    이 경우 PARAM 방법은 데이터를 포맷한다 :

    field1=hello&field2=hello2
    

    Jquery.ajax 문서 컨트롤이 인코딩 자동 여부를 완료 여부 것을 processData라는 플래그가 있다고 말한다. 문서는 POST를 사용하는 경우 기본값은 true입니다,하지만이 동작하지 않습니다 내가 관찰하는 것을 말한다.


  4. 4.

        function FillData() {
        var param = $("#<%= TextBox1.ClientID %>").val();
        $("#tbDetails").append("<img src='Images/loading.gif'/>");
        $.ajax({
            type: "POST",/*method type*/
            contentType: "application/json; charset=utf-8",
            url: "Default.aspx/BindDatatable",/*Target function that will be return result*/
            data: '{"data":"' + param + '"}',/*parameter pass data is parameter name param is value */
            dataType: "json",
            success: function(data) {
                   alert("Success");
                }
            },
            error: function(result) {
                alert("Error");
            }
        });   
    }
    

  5. 5.POST 요청에서 매개 변수는 사용자가 URL에 그들을 볼 수없는 이유 요청 본문에 전송됩니다.

    POST 요청에서 매개 변수는 사용자가 URL에 그들을 볼 수없는 이유 요청 본문에 전송됩니다.

    당신이 그들을보고 싶다면, 변경

        type: 'POST',
    

    ...에

        type: 'GET',
    

    주 브라우저는 당신이 당신의 코드 문제가 전체 요청을 볼 수 있습니다 개발 도구를 가지고. 크롬에서는 "네트워크"패널에 있습니다.


  6. 6.

    $.ajax(
       {
          type: 'post',
          url: 'superman',
          data: { 
            "field1": "hello",
            "field2": "hello1"
          },
          success: function (response) {
            alert("Success !!");
          },
          error: function () {
            alert("Error !!");
          }
       }
    );
    

    입력 : 'POST'를 입력하면서 URL에서 볼 수 없습니다 요청 **의 몸에 ** 매개 변수를 추가합니다 : 'GET'은, 볼 수있는 URL에 매개 변수를 추가합니다.

    인기있는 웹 브라우저의 대부분은 전체 요청을 표시 네트워크 패널을 포함한다.

    네트워크 패널에서 요청을보기 위해 XHR을 선택합니다.

    이것은 또한이를 통해 수행 할 수 있습니다.

    $.post('superman',
          { 
            'field1': 'hello', 
            'field2': 'hello1'
          },
          function (response) {
            alert("Success !");
          }
        );
    

  7. 7.당신이 $ 아약스를 사용하여 수행 할 수 있습니다 또는 $ .post

    당신이 $ 아약스를 사용하여 수행 할 수 있습니다 또는 $ .post

    $ 아약스를 사용 :

        $.ajax({
          type: 'post',
          url: 'superman',
          data: { 
            'field1': 'hello', 
            'field2': 'hello1'
          },
          success: function (response) {
            alert(response.status);
          },
          error: function () {
            alert("error");
          }
       });
    

    $ .post 사용 :

        $.post('superman',
          { 
            'field1': 'hello', 
            'field2': 'hello1'
          },
          function (response, status) {
            alert(response.status);
          }
        );
    

  8. 8.코드는 바로 문자열로 JSON 키를 전달하지 않습니다 제외했다.

    코드는 바로 문자열로 JSON 키를 전달하지 않습니다 제외했다.

    그것은 주위를 두 번 또는 작은 따옴표를해야한다

    $.ajax(
       {
          type: 'post',
          url: 'superman',
          data: { 
            "field1": "hello", // Quotes were missing
            "field2": "hello1" // Here also
          },
          success: function (response) {
            alert(response);
          },
          error: function () {
            alert("error");
          }
       }
    );
    

  9. 9.POST 방식의 URL에 전송 매개 변수의이 같은 URL에 추가 간단하게 할 수 있습니다 :

    POST 방식의 URL에 전송 매개 변수의이 같은 URL에 추가 간단하게 할 수 있습니다 :

    $.ajax({
        type: 'POST',
        url: 'superman?' + jQuery.param({ f1: "hello1", f2 : "hello2"}),
        // ...
    }); 
    
  10. from https://stackoverflow.com/questions/18697034/how-to-pass-parameters-in-ajax-post by cc-by-sa and MIT license