programing

커스터마이즈된HTPHeader 필드를 갖춘 JSON Post

lovejava 2023. 3. 5. 09:17

커스터마이즈된HTPHeader 필드를 갖춘 JSON Post

저는 API 호출의 일부가 될 코드를 상속받았습니다.기존 코드를 기반으로 콜은 access_token을 사용하여 JSON 코드를 취득하기 위한 포스트입니다.이것은 보통 단순하고 다른 모든 API와 마찬가지로 이 코드에서는 클라이언트 비밀에 대한 맞춤형 httpheader 필드가 필요합니다.

URLRequest 등으로 오브젝트 C에서 작업을 할 수 있었지만 웹 컴포넌트 콜을 작성하다 보니 차단되었습니다.

나는 꽤 표준적인 jquery 포스트를 사용하고 있다.

        $.post('https://url.com', 
        {access_token:'XXXXXXXXXXXXXXXXXXX',
         function(data){
           console.info(data);
         }, 'json');

헤더에 HTTP-EQUIV가 있습니다.그러나 게시물은 데이터를 취득하지 않으며 서버 자체는 콜이 이루어진 것을 인식하지 못합니다(불완전한 콜도 마찬가지).

이 코드를 폐기하고 다시 시작해야 할 수도 있지만, 이전에 이 문제를 겪은 적이 있는 사람이 있다면 어떤 통찰력을 제공해 주십시오.

투고한 내용에 구문 오류가 있지만 HTTP 헤더를 통과할 수 없기 때문에 차이가 없습니다.$.post().

jQuery 버전 > = 1.5인 경우 로 전환합니다.$.ajax()통과하다headers(옵션) 옵션(이전 버전의 jQuery를 사용하고 있는 경우,beforeSend옵션)

$.ajax({
    url: 'https://url.com',
    type: 'post',
    data: {
        access_token: 'XXXXXXXXXXXXXXXXXXX'
    },
    headers: {
        Header_Name_One: 'Header Value One',   //If your header name has spaces or any other char not appropriate
        "Header Name Two": 'Header Value Two'  //for object property name, use quoted notation shown in second
    },
    dataType: 'json',
    success: function (data) {
        console.info(data);
    }
});

.post()를 사용하는 경우 jquery를 사용하여 이루어지는 향후 모든 요구에 대한 헤더를 설정합니다.

$.ajaxSetup({
    headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }
});

정상적으로 .post() 콜을 발신합니다.

말씀하신 대로 시도했습니다만, 첫 번째 파라미터만 통과하고 나머지는 모두 서버에 표시됩니다.undefined나는 지나가고 있다.JSONWebToken헤더의 일부로서.

.ajax({
    url: 'api/outletadd',
    type: 'post',
    data: { outletname:outletname , addressA:addressA , addressB:addressB, city:city , postcode:postcode , state:state , country:country , menuid:menuid },
    headers: {
        authorization: storedJWT
    },
    dataType: 'json',
    success: function (data){
        alert("Outlet Created");
    },
    error: function (data){
        alert("Outlet Creation Failed, please try again.");        
    }

    });

장래의 개발자를 위해서, 이 스레드를 업데이트 하고 싶다고 생각하고 있습니다.

JQuery > 1.12 이제 JQuery.post ($.posts...)를 통해 요청의 모든 부분을 변경할 수 있습니다.https://api.jquery.com/jquery.post/의 두 번째 함수 시그니처를 참조하십시오.

언급URL : https://stackoverflow.com/questions/7100294/json-post-with-customized-httpheader-field