如何在$ .ajax中为以下条件执行if else:如果ID字段为> 0,则仅传递给json的id字段,否则传递其他所有内容。谢谢你的帮助。格兰特
$.ajax({
url : 'artist_update_event.php',
type : 'POST',
dataType : 'json',
data: {
artist_create_event_name: $('#artist_create_event_name').val(),
artist_create_event_desc: $('#artist_create_event_desc').val(),
name: $('#name').val(),
city: $('#city').val(),
state: $('#state').val(),
location: $('#location').val(),
zipcode: $('#zipcode').val(),
event_address : $('#event_address').val(),
event_address2 : $('#event_address2').val()
},
success : function(data){
$('#art_event_message').removeClass().addClass((data.error === true) ? 'error' : 'success')
.text(data.msg).show(500);
if (data.error === true) {
if (data.goto == 1) {
delete json;
}
else {
$('#artist_create_event').show(500);
delete json;
}
}
if (data.error === false) {
$('#artist_create_event').show(500);
delete json;
}
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
$('#art_event_message').removeClass().addClass('error')
alert('The error was: '+errorThrown);
alert('The error was: '+XMLHttpRequest);
alert('The error was: '+textStatus);
// .text('response.Text').show(500);
$('#artist_create_event').show(500);
}
});
return false;
}
});
答案 0 :(得分:2)
创建一个dataToPass
变量,并根据您的情况设置其值。
var dataToPass = (obj.id && obj.id > 0) ?
{ ID: obj.id } :
{ /* everything else */ }
答案 1 :(得分:2)
在调用$.ajax
之前在变量中创建数据,然后将变量传递给它。
var dataObj;
if (id > 0} {
dataObj = { id: id };
} else {
dataObj = {
artist_create_event_name: $('#artist_create_event_name').val(),
artist_create_event_desc: $('#artist_create_event_desc').val(),
name: $('#name').val(),
city: $('#city').val(),
state: $('#state').val(),
location: $('#location').val(),
zipcode: $('#zipcode').val(),
event_address : $('#event_address').val(),
event_address2 : $('#event_address2').val()
};
}
$.ajax({
url : 'artist_update_event.php',
type : 'POST',
dataType : 'json',
data: dataObj,
...
}
答案 2 :(得分:0)
你必须先在php中使用id,然后才能在java脚本中传递id ajax code
var name_string='<?php echo $irfan;?>';
var nam=parseInt(name_string);
例如
$user_id=get from db here and after it send in $ajax
$(document).ready(function(){
var name_string='<?php echo $irfan;?>';// here this line to get data in javascript
var nam=parseInt(name_string);// here this line to parse data string to int
$('#view_more').click(function(){
$.ajax({
url: '/15_augs/events/mytest/',
cache: false,
type: 'POST',
data: { no:x,myname:nam,},
dataType: 'HTML',
success: function (results) {
}
}