ajax错误 不存在的id,ajax返回错误格式的ID

我有一个问题,我从选定的复选框中获取一个ID,然后将它发送到一个删除方法,然后它将ID传递给存储过程。但是我遇到的问题是,它以错误的格式(“232,4323”)而不是(“232”,“4323”)返回我的ID,所以当将值传递给存储过程时,由于字符串格式。 这是我在aspx中的代码。ajax返回错误格式的ID

function doTheDelete(doIDeleteTimeTracker) {

var selectedTimeTrackerList = getSelectedTimeTrackerIDs();

if (selectedTimeTrackerList.length > 0) {

$.ajax({

type: "POST",

//url: "/Tasks/ViewTasks.aspx/deleteTasksAndLinkedItems",

url: '',

data: "{'DeleteTimeTracker' : '" + doIDeleteTimeTracker + "'," + "'TimeBill': ['" + selectedTimeTrackerList.join(',') + "']}",

//dataaaaaa

contentType: "application/json; charset=utf-8",

dataType: "json",

success: function (data) {

var ss = data.d;

if (ss.length > 0) {

for (var i = 0; i < ss.length; ++i) {

$.noty.consumeAlert({ layout: 'center', type: 'error', dismissQueue: true });

alert(ss[i]);

}

}

$("#viewTimeTrackersGrid").flexReload();

showMessage('Successfully Removed Time Tracker');

},

error: function (data) {

$.noty.consumeAlert({ layout: 'center', type: 'error', dismissQueue: true, modal: true });

alert('Error Deleting Time Tracker');

if (window.console) {

console.log(data);

}

}

});

} else {

showMessage('No time tracker(s) are selected.');

}

}

这里是我的代码后面的删除方法。

public static string[] deleteSelectedExpense(bool DeleteExpenses, String[] ExpId)

{

var rList = new List();

//var canDeleteTasks = false;

//var canDeleteTrackers = false;

var canDeleteExpenses = false;

var investigatorID = (int)HttpContext.Current.Session["InvestigatorID"];

var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connect"].ToString());

var cmd = new SqlCommand("p_Admin_Permissions_CanDeleteExpenses", conn);

cmd.Parameters.Add(new SqlParameter("@InvestigatorID", SqlDbType.Int));

cmd.Parameters["@InvestigatorID"].Value = investigatorID;

cmd.CommandType = CommandType.StoredProcedure;

try

{

conn.Open();

canDeleteExpenses = (bool)cmd.ExecuteScalar();

}

catch (SqlException sql)

{

if (!rList.Contains("Can not connect to the database. Please try again."))

rList.Add("Can not connect to the database. Please try again.");

}

catch (Exception ex)

{

if (!rList.Contains("An Error Occured"))

rList.Add("An Error Occured");

}

finally

{

if (conn.State == ConnectionState.Open)

conn.Close();

}

if (canDeleteExpenses)

{

foreach (var expense in ExpId)// expense ends up beng ("232,423") instead of just taking 1 string at a time ("232").....("423")...

{

if (canDeleteExpenses)

{

conn = new SqlConnection(ConfigurationManager.ConnectionStrings["OSCIDConnectionString"].ToString());

cmd = new SqlCommand("p_CaseFiles_Expenses_DeleteExpenses", conn);

cmd.Parameters.Add(new SqlParameter("@ExpID", SqlDbType.Int));

cmd.Parameters["@ExpID"].Value = int.Parse(expense);

cmd.Parameters.Add("@Message", SqlDbType.NVarChar, 50);

cmd.Parameters["@Message"].Direction = ParameterDirection.Output;

cmd.CommandType = CommandType.StoredProcedure;

try

{

conn.Open();

cmd.ExecuteNonQuery();

}

catch (SqlException sql)

{

if (!rList.Contains("Error Connecting to the Database. Unable To Delete Expense(s)."))

rList.Add("Error Connecting to the Database. Unable To Delete Expense(s).");

}

catch (Exception ex)

{

if (!rList.Contains("An Error Occured"))

rList.Add("An Error Occured");

}

finally

{

if (conn.State == ConnectionState.Open)

conn.Close();

}

}

else if (!canDeleteExpenses)

{

rList.Add("You do not have permission to delete Expenses");

}

else

{

if (!rList.Contains("You do not have permission to delete the Expense(s)."))

rList.Add("You do not have permission to delete the Expense(s).");

}

}

}

return rList.ToArray();

}

我猜测它可能是在“数据:”在Ajax调用格式化的阵列(我试过几件事情)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值