복붙노트

[JQUERY] 직렬화 및 추가 데이터와 jQuery를 포스트 ()

JQUERY

직렬화 및 추가 데이터와 jQuery를 포스트 ()

해결법


  1. 1.당신은 serializeArray [문서]를 사용하여 추가 데이터를 추가 할 수 있습니다 :

    당신은 serializeArray [문서]를 사용하여 추가 데이터를 추가 할 수 있습니다 :

    var data = $('#myForm').serializeArray();
    data.push({name: 'wordlist', value: wordlist});
    
    $.post("page.php", data);
    

  2. 2.$ .PARAM 시도

    $ .PARAM 시도

    $.post("page.php",( $('#myForm').serialize()+'&'+$.param({ 'wordlist': wordlist })));
    

  3. 3.또 다른 해결책은, 경우에 당신은 아약스 파일 업로드에이 작업을 수행 할 필요가있다 :

    또 다른 해결책은, 경우에 당신은 아약스 파일 업로드에이 작업을 수행 할 필요가있다 :

    var data = new FormData( $('#form')[0] ).append( 'name' , value );
    

    또는 더 간단.

    $('form').on('submit',function(e){
    
        e.preventDefault();
        var data = new FormData( this ).append('name', value );
    
        // ... your ajax code here ...
    
        return false;
    
    });
    

  4. 4.양식 데이터를 자바 스크립트 객체를 추가 할 때 다음과 같은 코드를 사용할 수 있습니다

    양식 데이터를 자바 스크립트 객체를 추가 할 때 다음과 같은 코드를 사용할 수 있습니다

    var data = {name1: 'value1', name2: 'value2'};
    var postData = $('#my-form').serializeArray();
    for (var key in data) {
        if (data.hasOwnProperty(key)) {
            postData.push({name:key, value:data[key]});
        }
    }
    $.post(url, postData, function(){});
    

    당신은 () 메소드 serializeObject를 추가하는 경우 또는 다음과 같은 작업을 수행 할 수 있습니다

    var data = {name1: 'value1', name2: 'value2'};
    var postData = $('#my-form').serializeObject();
    $.extend(postData, data);
    $.post(url, postData, function(){});
    

  5. 5.JQuery와의 새 버전에서는 다음 단계를 통해 그것을 할 수 있습니다 :

    JQuery와의 새 버전에서는 다음 단계를 통해 그것을 할 수 있습니다 :

    예제 코드 :

    var paramArr = $("#loginForm").serializeArray();
    paramArr.push( {name:'size', value:7} );
    $.post("rest/account/login", $.param(paramArr), function(result) {
        // ...
    }
    

  6. 6.

    $.ajax({    
        type: 'POST',  
        url: 'test.php',  
        data:$("#Test-form").serialize(),  
        dataType:'json',
         beforeSend:function(xhr, settings){
         settings.data += '&moreinfo=MoreData';
         },
        success:function(data){
                //  json response  
        },
        error: function(data) { 
            // if error occured
        }
        });
    

  7. 7.당신은 양식이 해당 값으로 AJAX 요청을 보내기 전에 올바른 설정합니다 숨겨진 필드로 추가 데이터가 포함되어있을 수 있습니다.

    당신은 양식이 해당 값으로 AJAX 요청을 보내기 전에 올바른 설정합니다 숨겨진 필드로 추가 데이터가 포함되어있을 수 있습니다.

    또 다른 가능성은 (대신 문자열) 자바 스크립트 객체로 양식을 직렬화하고 누락 된 데이터를 추가하려면이 작은 보석을 사용으로 구성되어 있습니다 :

    var data = $('#myForm').serializeObject();
    // now add some additional stuff
    data['wordlist'] = wordlist;
    $.post('/page.php', data);
    

  8. 8.당신은이를 사용할 수 있습니다

    당신은이를 사용할 수 있습니다

    var data = $("#myForm").serialize();
    data += '&moreinfo='+JSON.stringify(wordlist);
    

  9. 9.나는 객체로 객체를 유지하고 미친 형 이동을 할 것을 좋아합니다. 여기 내 방법

    나는 객체로 객체를 유지하고 미친 형 이동을 할 것을 좋아합니다. 여기 내 방법

    var post_vars = $('#my-form').serializeArray();
    $.ajax({
      url: '//site.com/script.php',
      method: 'POST',
      data: post_vars,
      complete: function() {
        $.ajax({
          url: '//site.com/script2.php',
          method: 'POST',
          data: post_vars.concat({
            name: 'EXTRA_VAR',
            value: 'WOW THIS WORKS!'
          })
        });
      }
    });
    

    당신은 내가 .concat 기능을 사용하고 '이름'과 '가치'와 같은 값으로 포스트 변수로 객체 전달 위에서 볼 수 없다면!

    도움이 되었기를 바랍니다.

  10. from https://stackoverflow.com/questions/6627936/jquery-post-with-serialize-and-extra-data by cc-by-sa and MIT license