Javascript 如果条件为true,则在Ajax调用中添加参数
这是我以前的代码:Javascript 如果条件为true,则在Ajax调用中添加参数,javascript,jquery,ajax,Javascript,Jquery,Ajax,这是我以前的代码: $.ajax({ type: "POST", url: "/Test/Save", data: { comments: $('#comments').val() <% if (SomeCondition) { %>, profit: parseInt(profitCombo.getSelectedValue()) <% } %>, myDat
$.ajax({
type: "POST",
url: "/Test/Save",
data: {
comments: $('#comments').val()
<% if (SomeCondition) { %>,
profit: parseInt(profitCombo.getSelectedValue())
<% } %>,
myData: JSON.stringify(someData).toString()
}
...
如果该变量为true,则添加一个逗号和另一个参数。如何做到这一点?只需在构建对象之前使用以下函数:
$.ajax({
type: "POST",
url: "/Test/Save",
data: getMyDataObject()
//other settings
});
function getMyDataObject() {
var myDataObject = {
comments: $('#comments').val()
myData: JSON.stringify(someData).toString()
}
if (someConditionJsVariable) {
myDataObject.profit= parseInt(profitCombo.getSelectedValue());
}
return myDataObject;
}
只需在构建对象之前使用函数:
$.ajax({
type: "POST",
url: "/Test/Save",
data: getMyDataObject()
//other settings
});
function getMyDataObject() {
var myDataObject = {
comments: $('#comments').val()
myData: JSON.stringify(someData).toString()
}
if (someConditionJsVariable) {
myDataObject.profit= parseInt(profitCombo.getSelectedValue());
}
return myDataObject;
}
只需在构建对象之前使用函数:
$.ajax({
type: "POST",
url: "/Test/Save",
data: getMyDataObject()
//other settings
});
function getMyDataObject() {
var myDataObject = {
comments: $('#comments').val()
myData: JSON.stringify(someData).toString()
}
if (someConditionJsVariable) {
myDataObject.profit= parseInt(profitCombo.getSelectedValue());
}
return myDataObject;
}
只需在构建对象之前使用函数:
$.ajax({
type: "POST",
url: "/Test/Save",
data: getMyDataObject()
//other settings
});
function getMyDataObject() {
var myDataObject = {
comments: $('#comments').val()
myData: JSON.stringify(someData).toString()
}
if (someConditionJsVariable) {
myDataObject.profit= parseInt(profitCombo.getSelectedValue());
}
return myDataObject;
}
您可以将代码更新为以下内容
// create object
var data = {
comments: $('#comments').val(),
myData: JSON.stringify(someData).toString()
}
if (someConditionJsVariable) {,
data.profit = parseInt(profitCombo.getSelectedValue());
}
data : data // pass object
您可以将代码更新为以下内容
// create object
var data = {
comments: $('#comments').val(),
myData: JSON.stringify(someData).toString()
}
if (someConditionJsVariable) {,
data.profit = parseInt(profitCombo.getSelectedValue());
}
data : data // pass object
您可以将代码更新为以下内容
// create object
var data = {
comments: $('#comments').val(),
myData: JSON.stringify(someData).toString()
}
if (someConditionJsVariable) {,
data.profit = parseInt(profitCombo.getSelectedValue());
}
data : data // pass object
您可以将代码更新为以下内容
// create object
var data = {
comments: $('#comments').val(),
myData: JSON.stringify(someData).toString()
}
if (someConditionJsVariable) {,
data.profit = parseInt(profitCombo.getSelectedValue());
}
data : data // pass object
您可以将所有逻辑封装到如下函数中:
var testSave = function(someConditionJsVariable, someData, profitCombo) {
// construct your data object
var data = {
comments: $('#comments').val(),
myData: JSON.stringify(someData),
}
// assign the conditional property with value depending on condition
!!someConditionJsVariable && (data.profit = parseInt(profitCombo.getSelectedValue()));
// return the jQuery promise from ajax call
return $.ajax({
type: "POST",
url: "/Test/Save",
data: data
});
}
然后使用如下函数:
data: {
comments: $('#comments').val()
if (someConditionJsVariable) {,
profit: parseInt(profitCombo.getSelectedValue())
},
myData: JSON.stringify(someData).toString()
}
testSave(someConditionJsVariable, someData, profitCombo)
.then(function(result) {
// do something with result
});
您可以将所有逻辑封装到如下函数中:
var testSave = function(someConditionJsVariable, someData, profitCombo) {
// construct your data object
var data = {
comments: $('#comments').val(),
myData: JSON.stringify(someData),
}
// assign the conditional property with value depending on condition
!!someConditionJsVariable && (data.profit = parseInt(profitCombo.getSelectedValue()));
// return the jQuery promise from ajax call
return $.ajax({
type: "POST",
url: "/Test/Save",
data: data
});
}
然后使用如下函数:
data: {
comments: $('#comments').val()
if (someConditionJsVariable) {,
profit: parseInt(profitCombo.getSelectedValue())
},
myData: JSON.stringify(someData).toString()
}
testSave(someConditionJsVariable, someData, profitCombo)
.then(function(result) {
// do something with result
});
您可以将所有逻辑封装到如下函数中:
var testSave = function(someConditionJsVariable, someData, profitCombo) {
// construct your data object
var data = {
comments: $('#comments').val(),
myData: JSON.stringify(someData),
}
// assign the conditional property with value depending on condition
!!someConditionJsVariable && (data.profit = parseInt(profitCombo.getSelectedValue()));
// return the jQuery promise from ajax call
return $.ajax({
type: "POST",
url: "/Test/Save",
data: data
});
}
然后使用如下函数:
data: {
comments: $('#comments').val()
if (someConditionJsVariable) {,
profit: parseInt(profitCombo.getSelectedValue())
},
myData: JSON.stringify(someData).toString()
}
testSave(someConditionJsVariable, someData, profitCombo)
.then(function(result) {
// do something with result
});
您可以将所有逻辑封装到如下函数中:
var testSave = function(someConditionJsVariable, someData, profitCombo) {
// construct your data object
var data = {
comments: $('#comments').val(),
myData: JSON.stringify(someData),
}
// assign the conditional property with value depending on condition
!!someConditionJsVariable && (data.profit = parseInt(profitCombo.getSelectedValue()));
// return the jQuery promise from ajax call
return $.ajax({
type: "POST",
url: "/Test/Save",
data: data
});
}
然后使用如下函数:
data: {
comments: $('#comments').val()
if (someConditionJsVariable) {,
profit: parseInt(profitCombo.getSelectedValue())
},
myData: JSON.stringify(someData).toString()
}
testSave(someConditionJsVariable, someData, profitCombo)
.then(function(result) {
// do something with result
});
在ajax调用中传递给
数据:
的对象是否可以在其他地方构造?这个逻辑可以封装在函数中吗?@AnishPatel是的,是的:)在ajax调用中传递给数据:
的对象可以在其他地方构造吗?这个逻辑可以封装在函数中吗?@AnishPatel是的,是的:)在ajax调用中传递给数据:
的对象可以在其他地方构造吗?这个逻辑可以封装在函数中吗?@AnishPatel是的,是的:)在ajax调用中传递给数据:
的对象可以在其他地方构造吗?这个逻辑可以封装在函数中吗?@AnishPatel是的,是的:)