복붙노트

[JQUERY] 어떻게 JSON 데이터를 게시하는 JQuery와 사용할 수 있습니까?

JQUERY

어떻게 JSON 데이터를 게시하는 JQuery와 사용할 수 있습니까?

해결법


  1. 1.당신은 객체가 아닌 JSON 문자열을 전달하고 있습니다. 객체를 전달하면, jQuery를 이름 - 값 쌍으로 객체를 직렬화 $ .PARAM를 사용합니다.

    당신은 객체가 아닌 JSON 문자열을 전달하고 있습니다. 객체를 전달하면, jQuery를 이름 - 값 쌍으로 객체를 직렬화 $ .PARAM를 사용합니다.

    당신이 문자열로 데이터를 전달할 경우, 직렬화되지 않습니다 :

    $.ajax({
        type: 'POST',
        url: '/form/',
        data: '{"name":"jonas"}', // or JSON.stringify ({name: 'jonas'}),
        success: function(data) { alert('data: ' + data); },
        contentType: "application/json",
        dataType: 'json'
    });
    

  2. 2.lonesomeday의 대답에 자료, 나는 특정 매개 변수를 감싸는 JPOST을 만들 수 있습니다.

    lonesomeday의 대답에 자료, 나는 특정 매개 변수를 감싸는 JPOST을 만들 수 있습니다.

    $.extend({
        jpost: function(url, body) {
            return $.ajax({
                type: 'POST',
                url: url,
                data: JSON.stringify(body),
                contentType: "application/json",
                dataType: 'json'
            });
        }
    });
    

    용법:

    $.jpost('/form/', { name: 'Jonh' }).then(res => {
        console.log(res);
    });
    

  3. 3.나는 닌 팜의 솔루션을 시도했지만 나는 그것이 불통 때까지 나를 위해 일을하지 않았다 - 아래를 참조하십시오. contentType이를 제거하고 JSON 데이터를 인코딩하지 않습니다

    나는 닌 팜의 솔루션을 시도했지만 나는 그것이 불통 때까지 나를 위해 일을하지 않았다 - 아래를 참조하십시오. contentType이를 제거하고 JSON 데이터를 인코딩하지 않습니다

    $.fn.postJSON = function(url, data) {
        return $.ajax({
                type: 'POST',
                url: url,
                data: data,
                dataType: 'json'
            });
    

  4. 4.상단의 대답은 벌금을했다하지만 난 긴 양식을 보내거나 일반적으로 대량의 데이터를 처리 할 때 조금 청소기입니다 게시하기 전에 변수로 JSON 데이터를 저장하는 것이 좋습니다.

    상단의 대답은 벌금을했다하지만 난 긴 양식을 보내거나 일반적으로 대량의 데이터를 처리 할 때 조금 청소기입니다 게시하기 전에 변수로 JSON 데이터를 저장하는 것이 좋습니다.

    VAR 데이터 = { "이름": "jonsa" "전자 메일": "qwerty@gmail.com" "전화": 1223456789 }; {(아약스 $ 입력 : 'POST', URL : '/ 양식 /', 데이터 : 데이터, 성공 : 기능 (데이터) {경고 ( '데이터'+ 데이터); }, ContentType을 : "응용 프로그램 / JSON" dataType와 'JSON' });


  5. 5.약속을 사용하여 몸 객체가 유효한 JSON 경우 검사합니다. 약속이 반환됩니다 거부하면되지.

    약속을 사용하여 몸 객체가 유효한 JSON 경우 검사합니다. 약속이 반환됩니다 거부하면되지.

    var DoPost = function(url, body) {
        try {
            body = JSON.stringify(body);
        } catch (error) {
            return reject(error);
        }
        return new Promise((resolve, reject) => {
            $.ajax({
                    type: 'POST',
                    url: url,
                    data: body,
                    contentType: "application/json",
                    dataType: 'json'
                })
                .done(function(data) {
                    return resolve(data);
                })
                .fail(function(error) {
                    console.error(error);
                    return reject(error);
                })
                .always(function() {
                    // called after done or fail
                });
        });
    }
    
  6. from https://stackoverflow.com/questions/6255344/how-can-i-use-jquery-to-post-json-data by cc-by-sa and MIT license