programing

이전에 Ajax 사용데이터를 수정하려면 전송

newstyles 2023. 8. 22. 21:59

이전에 Ajax 사용데이터를 수정하려면 전송

jQuery에서 다음과 같은 Ajax 전화가 왔다고 가정해 보겠습니다.

$.ajax({
   url: myUrl,
   data: myData,
   type:'post'
});

다음을 사용하여 myData에 추가할 수 있습니다.

$.ajaxSetup({
   beforeSend: function(call){...}
});

그 결과 모든 아약스 호출(포스트 및 get 모두)이 수정되어 추가 매개 변수 IsAjax=true가 표시됩니다.

$.ajaxSetup({
  beforeSend: function(jqXHR, settings) {
    settings.data = $.extend(settings.data, {isAjax: true});
    return true;
  }
});

업데이트 ====

언제data객체입니다. jQuery는 객체의 키/값 쌍에서 데이터 문자열을 생성합니다. 단,processData옵션이 다음으로 설정됨false.예를들면,{ a: "bc", d: "e,f" }문자열로 변환됩니다."a=bc&d=e%2Cf"값이 배열인 경우 jQuery는 다음 값을 기준으로 동일한 키를 가진 여러 값을 직렬화합니다.traditional설정(아래 설명).예를들면,{ a: [1,2] }문자열이 됩니다."a%5B%5D=1&a%5B%5D=2"디폴트로traditional: false설정

https://api.jquery.com/jquery.ajax/

보시다시피 설정 프로세스 Data는 false여야 합니다.그래서 당신이 요청할 때 설정할 수 있습니다.$.ajax()또는 세계적으로$.ajaxSetup().

이 블로그 게시물은 사용 방법을 설명합니다.$.ajaxSetup데이터를 추가합니다.다음과 같이 누적됩니다.$.extend이렇게 하면 됩니다.

$.ajaxSetup({
  data:{
    isAjax:true
  }
});

$.ajax()로 보내기 전에 실제로 사용할 수 있습니다.

$.ajax({
  beforeSend: function(xhr){
    this.data += '&' + $.param({
      param: 'test'
    });
  }
});

언급URL : https://stackoverflow.com/questions/3521594/using-ajax-beforesend-to-modify-data