serialize()
양식 외부에있는 다른 데이터 를 게시 할 수 있는지 확인하려고합니다 .
여기에 내가 생각한 것이 있지만 'wordlist'
양식 데이터 는 보내지 않고 보냅니다 .
$.post("page.php",( $('#myForm').serialize(), { 'wordlist': wordlist }));
누구든지 아이디어가 있습니까?
답변
serializeArray
[docs]를 사용 하고 추가 데이터를 추가 할 수 있습니다 .
var data = $('#myForm').serializeArray();
data.push({name: 'wordlist', value: wordlist});
$.post("page.php", data);
답변
$.post("page.php",( $('#myForm').serialize()+'&'+$.param({ 'wordlist': wordlist })));
답변
ajax 파일 업로드에서이를 수행해야하는 경우 대체 솔루션 :
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;
});
답변
양식 데이터에 자바 스크립트 객체를 추가하려는 경우 다음 코드를 사용할 수 있습니다.
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(){});
답변
새 버전의 jquery에서는 다음 단계를 통해 수행 할 수 있습니다.
- 매개 변수 배열을 통해 얻을
serializeArray()
push()
배열에 추가 매개 변수를 추가하기위한 호출 또는 유사한 메소드$.param(arr)
jquery ajax의data
param 으로 사용될 수있는 직렬화 된 문자열을 얻기 위해 호출하십시오 .
예제 코드 :
var paramArr = $("#loginForm").serializeArray();
paramArr.push( {name:'size', value:7} );
$.post("rest/account/login", $.param(paramArr), function(result) {
// ...
}
답변
$.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
}
});
답변
양식에 AJAX 요청을 해당 값으로 보내기 직전에 설정 한 추가 필드를 숨겨진 필드로 포함 할 수 있습니다.
또 다른 가능성은 이 작은 보석 을 하여 양식을 문자열 대신 자바 스크립트 객체로 직렬화하고 누락 된 데이터를 추가하는 것입니다.
var data = $('#myForm').serializeObject();
// now add some additional stuff
data['wordlist'] = wordlist;
$.post('/page.php', data);