programing

jPOST 매개 변수로 문자열 전송 쿼리

topblog 2023. 3. 19. 17:48
반응형

jPOST 매개 변수로 문자열 전송 쿼리

문자열을 ajax Post 파라미터로 보내고 싶습니다.

다음 코드:

$.ajax({
   type: "POST",
   url: "http://nakolesah.ru/",
   data: 'foo=bar&ca$libri=no$libri',
   success: function(msg){
     alert('wow'+msg);
   }
});

작동이 안 돼 왜?

다음과 같이 시도합니다.

$.ajax({
    type: 'POST',
    // make sure you respect the same origin policy with this url:
    // http://en.wikipedia.org/wiki/Same_origin_policy
    url: 'http://nakolesah.ru/',
    data: { 
        'foo': 'bar', 
        'ca$libri': 'no$libri' // <-- the $ sign in the parameter name seems unusual, I would avoid it
    },
    success: function(msg){
        alert('wow' + msg);
    }
});
$.ajax({
    type: 'POST',    
    url:'http://nakolesah.ru/',
    data:'foo='+ bar+'&calibri='+ nolibri,
    success: function(msg){
        alert('wow' + msg);
    }
});

그들은 당신의 질문을 이해하지 못했군요.

답변: 추가"traditional"파라미터는 다음과 같이 Ajax 콜의 파라미터는 다음과 같습니다.

$.ajax({
  traditional: true,
  type: "POST",
  url: url,
  data: custom,
  success: ok,
  dataType: "json"
});

PASSED A STRING 파라미터로 동작합니다.

비슷한 어플리케이션의 경우, 나는 내 것을 포장해야 했습니다.data에 이의를 제기하다.JSON.stringify()다음과 같습니다.

data: JSON.stringify({ 
  'foo': 'bar', 
  'ca$libri': 'no$libri'
}),

API는 REST 클라이언트에서 동작하고 있었지만 브라우저의 jquery ajax에서 동작하도록 할 수 없었습니다.stringify가 해결책이었습니다.

이게 아직 진짜인지 아닌지는 모르겠지만..미래의 독자들을 위해서요.URL 의 일부로서 파라미터를 전달하는 경우는, jQuery.param() 를 사용하는 것이 좋습니다.

질문에 대한 직접적인 답변이 아닙니다.하지만 다음은 나에게 통용되던 유일한 구문이다.

data: '{"winNumber": "' + win + '"}',

parameter-name은 서버 메서드의 인수와 일치합니다.

Ajax의 문자열 파라미터에 문자열 값을 전달하는 문제에 직면해 있었습니다.그렇게 구글을 검색한 후, 아래와 같은 맞춤 솔루션을 생각해 냈습니다.

var bar = 'xyz';
var calibri = 'no$libri';

$.ajax({
   type: "POST",
   dataType: "json",
   contentType: "application/json; charset=utf-8",
   url: "http://nakolesah.ru/",
   data: '{ foo: \'' + bar + '\', zoo: \'' + calibri + '\'}',
   success: function(msg){
       alert('wow'+msg);
   },
});

여기서 bar와 calibri는 2개의 문자열 변수이며 임의의 문자열 값을 웹 메서드의 각 문자열 파라미터에 전달할 수 있습니다.

저도 이 문제에 직면해 있습니다.하지만 내게 해결책이 있고 완벽하게 작동했어javascript 함수에 의해 이미 생성된 파라미터를 전달해야 했습니다.그래서 나는 아래 코드가 효과가 있다.백엔드에 Cold Fusion을 사용했습니다.변수를 변수로 직접 사용했을 뿐입니다.

                    $.ajax({
                    url: "https://myexampleurl.com/myactionfile.cfm",
                    type: "POST",
                    data : {paramert1: variable1,parameter2: variable2},
                    success: function(data){
                        console.log(data);                              
                    } )};

대신 POST 요구를 문자열로 인코딩하여 데이터 파라미터로 전달합니다.

var requestData = "Param1=" + encodeURIComponent(jsParam1) + "&Param2="+ encodeURIComponent(jsParam2);

var request = $.ajax({
                            url: page + "?" + getVars,
                            method: "POST",
                            data: requestData,
                            dataType: "html",
                            contentType: 'application/x-www-form-urlencoded; charset=UTF-8'
                    });

언급URL : https://stackoverflow.com/questions/5046930/jquery-send-string-as-post-parameters

반응형