Ajax를 통해 여러 데이터 필드를 전송하려면 어떻게 해야 합니까?
난 갇혔어:AJAX를 사용하여 폼을 전송하려고 하는데 AJAX 콜을 통해 여러 데이터 필드를 전송할 방법을 찾을 수 없습니다.
$(document).ready(function() {
$("#btnSubmit").click(function() {
var status = $("#activitymessage").val();
var name = "Ronny";
$.ajax({
type: "POST",
url: "ajax/activity_save.php",
**data: "status="+status+"name="+name"**,
success: function(msg) {...
온갖 시도를 다 해봤어요
data: {status: status, name: name},
또는 테스트 목적으로만 다음과 같은 것을 사용할 수도 있습니다.
data: "status=testing&name=ronny",
하지만 내가 뭘 시도해도 내 안에 아무것도 없어activity_save.php따라서 SQL에는 아무것도 없습니다.
그럼 AJAX 콜에 데이터 행을 추가하기 위한 올바른 구문은 무엇일까요?
올바른 구문은 다음과 같습니다.
data: {status: status, name: name},
여기에 기재된 바와 같이 http://api.jquery.com/jQuery.ajax/
만약 그것이 효과가 없다면, 나는 그 변수들에 값을 가지도록 경고할 것이다.
JSON 또는 일반 POST를 통해 데이터를 전송할 수 있습니다. 다음은 JSON의 예입니다.
var value1 = 1;
var value2 = 2;
var value3 = 3;
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "yoururlhere",
data: { data1: value1, data2: value2, data3: value3 },
success: function (result) {
// do something here
}
});
일반 포스트를 통해 사용하시려면 이것을 사용하세요.
$.ajax({
type: "POST",
url: $('form').attr("action"),
data: $('#form0').serialize(),
success: function (result) {
// do something here
}
});
따옴표로 시도:
data: {"status": status, "name": name}
잘 될 거야.
var countries = new Array();
countries[0] = 'ga';
countries[1] = 'cd';
그 후 다음과 같이 할 수 있습니다.
var new_countries = countries.join(',')
그 후:
$.ajax({
type: "POST",
url: "Concessions.aspx/GetConcessions",
data: new_countries,
...
이것은 JSON 문자열 형식으로 동작합니다.
http://api.jquery.com/jquery.ajax/에 따르면
$.ajax({
method: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
});
난 이게 좋아.
제 PHP는 다음과 같습니다.
<div id="pageContent">
<?php
while($row = mysqli_fetch_assoc($stmt)) {
?>
<br/>
<input id="vendorName_" name="vendorName_<?php echo $row["id"]; ?>" value='<?php echo $row["vendorName"]; ?>'>
<input id="owner_" name="owner_<?php echo $row["id"]; ?>" value='<?php echo $row["owner"]; ?>'>
<input id="city_" name="city_<?php echo $row["id"]; ?>" value='<?php echo $row["city"]; ?>'>
<button id="btn_update_<?php echo $row["id"]; ?>">Update</button>
<button id="btn_delete_<?php echo $row["id"]; ?>">Delete</button>
<?php
}
?>
</br></br>
<input id = "vendorName_new" value="">
<input id = "owner_new" value="">
<input id = "city_new" value="">
<button id = "addNewVendor" type="submit">+ New Vendor</button>
</div>
다음은 AJAX를 사용하는 jQuery입니다.
$("#addNewVendor").click(function() {
alert();
$.ajax({
type: "POST",
url: "create.php",
data: {vendorName: $("#vendorName_new").val(), owner: $("#owner_new").val(), city: $("#city_new").val()},
success: function(){
$(this).hide();
$('div.success').fadeIn();
showUsers()
}
});
});
Ajax는 초보이지만 이 "data: {status: status, name: name}" 메서드 데이터형은 JSON으로 설정해야 합니다.
$.ajax({
type: "POST",
dataType: "json",
url: "ajax/activity_save.php",
data: {status: status, name: name},
이것을 사용하다
data: '{"username":"' + username + '"}',
larabel 4.2 + ajax에서 사용할 수 있도록 많은 구문을 시도합니다.
이것을 시험해 보세요.
$(document).ready(function() {
$("#btnSubmit").click(function() {
var status = $("#activitymessage").val();
var name = "Ronny";
$.ajax({
type: "POST",
url: "ajax/activity_save.php",
data: {'status': status, 'name': name},
success: function(msg) {...
저는 AJAX에 처음 와서 이걸 해봤는데 잘 되더라고요.
function q1mrks(country,m) {
// alert("hellow");
if (country.length==0) {
//alert("hellow");
document.getElementById("q1mrks").innerHTML="";
return;
}
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("q1mrks").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","../location/cal_marks.php?q1mrks="+country+"&marks="+m,true);
//mygetrequest.open("GET", "basicform.php?name="+namevalue+"&age="+agevalue, true)
xmlhttp.send();
}
다음을 사용해 보십시오.
$.ajax({
type: "GET",
url: "something.php",
data: { "b": data1, "c": data2 },
dataType: "html",
beforeSend: function() {},
error: function() {
alert("Error");
},
success: function(data) {
$("#result").empty();
$("#result").append(data);
}
});
2일간의 헤드 스크래치 후, 다음과 같이 동작합니다.왜 2개의 키/값(원시 이미지 데이터를 포함한 변수 포함)을 송신하기 위한 AJaX의 '데이터' 설정을 얻을 수 없었는지 알 수 없지만, 그것이 jQuery.param() 함수의 목적인 것 같습니다.
따옴표 없이 변수를 사용하여 매개 변수 배열을 만듭니다.
var params = { key_name1: var_1, key_name2: var_2 }; // etc.
var ser_data = jQuery.param( params ); // arbitrary variable name
변수 ser_data를 데이터 값으로 사용합니다.
$.ajax({
type: 'POST',
url: '../php_handler_url.php',
data: ser_data,
}).success(function(response) {
alert(response);
});
매뉴얼은 https://api.jquery.com/jQuery.param/ 에서 구할 수 있습니다.
도움이 됐으면 좋겠네요!
언급URL : https://stackoverflow.com/questions/6085649/how-to-send-multiple-data-fields-via-ajax
'source' 카테고리의 다른 글
| 휴지 상태를 설정하는 방법.spring-boot에서 format_sql을 사용할 수 있습니까? (0) | 2023.03.29 |
|---|---|
| 하위 디렉터리의 워드프레스 템플릿 파일 (0) | 2023.03.29 |
| ng-form을 사용한 각도 ng-repeat, 컨트롤러에서의 검증 접근 (0) | 2023.03.29 |
| JSX에서 문자열 일부를 태그로 바꿉니다. (0) | 2023.03.29 |
| Angular를 사용한 부트스트랩툴팁 사용JS (0) | 2023.03.29 |