Javascript 无法使用asp.net web服务将ajax标头值传递给我的web服务方法
下面是我对web服务的ajax调用方法,我需要从ajax头向web服务传递auth_键,但现在我使用ajax数据传递auth_键。但我需要从头球传过来Javascript 无法使用asp.net web服务将ajax标头值传递给我的web服务方法,javascript,c#,asp.net,ajax,web-services,Javascript,C#,Asp.net,Ajax,Web Services,下面是我对web服务的ajax调用方法,我需要从ajax头向web服务传递auth_键,但现在我使用ajax数据传递auth_键。但我需要从头球传过来 $.ajax({ type: "GET", url: base_url + "ongoingtrainingdetails", data: {'Username':window.localStorage.getItem('auth_key')}, //'7EF1590A-29A3-4DD5-885A-5C77348
$.ajax({
type: "GET",
url: base_url + "ongoingtrainingdetails",
data: {'Username':window.localStorage.getItem('auth_key')}, //'7EF1590A-29A3-4DD5-885A-5C773480AF91'},
timeout: 60000,
dataType: "json",
headers: {
"X-Api-Key": localStorage.getItem("auth_key")
},
Complete: function(xhr) {
xhr.getResponseHeader("Accept", "json");
},
success: function(res) {
console.log(res);
if (res.status === 7) {
var html = "<div class='col-xs-12 main-area'> <div class='no-traing-block'> <p clas" +
"s='no-traing-block-icon'> <img src='images/no-training-icon.png'><br>" +
" No ongoing training available </p> </div></div>";
$("#home_page_content").html(html);
SpinnerPlugin.activityStop();
}else if (res.status === 0) {
console.log(res);
var a = CryptoJS.AES.encrypt(JSON.stringify(res), localStorage.getItem("auth_key"), 256);
localStorage.setItem("res", a);
var d = CryptoJS.AES.decrypt(localStorage.getItem("res"), localStorage.getItem("auth_key")).toString(CryptoJS.enc.Utf8);
var res = JSON.parse(d);
//var res = d;
console.log(res);
console.log(res.data.dStartdate);
var iTrainingId = res.data.iTrainingId;
// localStorage.setItem("dStartdate", res.data.dStartdate);
// localStorage.setItem("dEnddate", res.data.dEnddate);
console.log(res.data.eTrainingMode);
if (res.status === 0) {
insertDB(res);
var html = "";
// if (true) {
if (res.data.eTrainingMode == "Pending") {
html += "<div class='col-xs-12 main-area' > <div class='index-data'> <div clas" +
"s='index-data-row'> <h1><img src='images/current-training-icon.png'>Cu" +
"rrent Training</h1> <p><img src='images/programname-icon.png'>Enrollme" +
"nt ID</p> <h2 id='program_name_homepage'>" + res.data.vUniqueCode + "</h2> <p><img src='images/programname-icon.png'>Program Name</p> " +
" <h2 id='program_name_homepage'>" + res.data.vTrainingName + "</h2> <p><img src='images/krc-name-icon.png'>KRC Name</p> <h" +
"3 id='program_address_homepage'>" + res.data.KRC_name + "</h3> <p><img src='images/map-1.png'>Location</p> <h3 id='pr" +
"ogram_address_homepage'>" + res.data.vDistrict + "," + res.data.vState + "</h3> <p><img src='images/date-icon.png'>From Date</p> <h4 i" +
"d='program_start_homepage'>" + getFormattedDate(res.data.dStartdate) + "</h4> <p><img src='images/date-icon.png'>To Date</p> <h4 id=" +
"'program_end_homepage'>" + getFormattedDate(res.data.dEnddate) + "</h4> </div> <p class='trainer-font'><img src='images/master-train" +
"er-icon.png'>Master Trainer</p> <div class='trainer-row' id='master_train" +
"er'><img src='images/profile-img.png'>" + res.data.vName + "<span id='start_training_home' data-training='" + res.data.iTrainingId + "'>START</span></div> <div id='otherTrainers'></div> </div></div>";
$("#home_page_content").html(html);
SpinnerPlugin.activityStop();
SpinnerPlugin.activityStop();
} else if (res.data.eTrainingMode == "Online") {
SpinnerPlugin.activityStop();
getCurrentRunningBatch();
} else if (res.data.eTrainingMode == "Offline") {
SpinnerPlugin.activityStop();
getCurrentRunningBatch();
}
} else {
debugger;
alert("reached 4");
var html = "<div class='col-xs-12 main-area'> <div class='no-traing-block'> <p clas" +
"s='no-traing-block-icon'> <img src='images/no-training-icon.png'><br>" +
" No ongoing training available </p> </div></div>";
$("#home_page_content").html(html);
SpinnerPlugin.activityStop();
//navigator.notification.alert(res.message); console.log(res.message);
}
} else {
SpinnerPlugin.activityStop();
//navigator.notification.alert(res.message);
}
},
error: function(xhr, status, err) {
console.log(xhr +"hi");
console.log(status + "helo");
console.log(err+"error is");
ErrorHandler(xhr, status, err)
}
});
$.ajax({
键入:“获取”,
url:base_url+“ongoingtrainingdetails”,
数据:{'Username':window.localStorage.getItem('auth_key')},/'7EF1590A-29A3-4DD5-885A-5C773480AF91'},
超时:60000,
数据类型:“json”,
标题:{
“X-Api-Key”:localStorage.getItem(“auth_Key”)
},
完成:函数(xhr){
getResponseHeader(“接受”、“json”);
},
成功:功能(res){
控制台日志(res);
如果(资源状态===7){
var html=“
”+
“无持续培训可用
”;
$(“主页内容”).html(html);
SpinnerPlugin.activityStop();
}else if(res.status==0){
控制台日志(res);
var a=CryptoJS.AES.encrypt(JSON.stringify(res),localStorage.getItem(“auth_key”),256);
setItem(“res”,a);
var d=CryptoJS.AES.decrypt(localStorage.getItem(“res”)、localStorage.getItem(“auth_key”)).toString(CryptoJS.enc.Utf8);
var res=JSON.parse(d);
//var-res=d;
控制台日志(res);
console.log(res.data.dstardate);
var iTrainingId=res.data.iTrainingId;
//setItem(“dStartdate”,res.data.dStartdate);
//setItem(“dEnddate”,res.data.dEnddate);
console.log(res.data.eTrainingMode);
if(res.status==0){
insertDB(res);
var html=“”;
//如果(真){
如果(res.data.eTrainingMode==“待定”){
html+=“Cu”+
“近期培训Enrollme”+
“nt ID”+res.data.vUniqueCode+“程序名”+
“+res.data.vTrainingName+”KRC Name“+res.data.KRC_Name+”位置“+res.data.vDistrict+”、“+res.data.vState+”起始日期“+getFormattedDate(res.data.dStartdate)+“截止日期”+getFormattedDate(res.data.dEnddate)+“高级培训师”
“+res.data.vName+“开始”;
$(“主页内容”).html(html);
SpinnerPlugin.activityStop();
SpinnerPlugin.activityStop();
}else if(res.data.eTrainingMode==“在线”){
SpinnerPlugin.activityStop();
getCurrentRunningBatch();
}else if(res.data.eTrainingMode==“脱机”){
SpinnerPlugin.activityStop();
getCurrentRunningBatch();
}
}否则{
调试器;
警报(“达到4”);
var html=“
”+
“无持续培训可用
”;
$(“主页内容”).html(html);
SpinnerPlugin.activityStop();
//navigator.notification.alert(res.message);console.log(res.message);
}
}否则{
SpinnerPlugin.activityStop();
//navigator.notification.alert(res.message);
}
},
错误:函数(xhr、状态、错误){
console.log(xhr+“hi”);
控制台日志(状态+“helo”);
日志(err+“error is”);
ErrorHandler(xhr、状态、错误)
}
});
下面是我的asp.net web服务
[WebMethod(EnableSession = false)]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]//Specify return format.
public void ongoingtrainingdetails(string UserName)
{
//Context.Response.Write(UserName);
List<Response> listbatch = new List<Response>();
using (SqlConnection con = new SqlConnection(strConn))
{
SqlCommand cmd = new SqlCommand("App_Service", con);
try
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Paravalue", "2");
cmd.Parameters.AddWithValue("@value", UserName);
cmd.Parameters.AddWithValue("@value1", "");
cmd.Parameters.AddWithValue("@value2", "0");
cmd.Parameters.AddWithValue("@value3", "0");
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Response res = new Response();
res.status = 0;
res.message = "Welcome To u";
// res.auth_key = rdr["auth_key"].ToString();
Data batch = new Data();
{
batch.vUniqueCode = rdr["vUniqueCode"].ToString();
batch.vTrainingName = rdr["BatchTitle"].ToString();
batch.dStartdate = rdr["BatchStarDate"].ToString( );
batch.dEnddate = rdr["BatchEndDate"].ToString();
batch.vDistrict = rdr["CityName"].ToString();
batch.vState = rdr["StateName"].ToString();
batch.Address = rdr["Address"].ToString();
batch.TrainerId = int.Parse(rdr["TrainerId"].ToString());
batch.eTrainingMode =rdr["eTrainingMode"].ToString();
batch.vName = rdr["vName"].ToString();
batch.iTrainingId = int.Parse(rdr["vUniqueCode"].ToString());
res.data = batch;
};
listbatch.Add(res);
}
this.Context.Response.ContentType = "application/json; charset=utf-8";
//string JSONResult = JsonConvert.SerializeObject(listbatch);
JavaScriptSerializer js = new JavaScriptSerializer() { MaxJsonLength = 867530900 };
string JSONResult = js.Serialize(listbatch);
string FinalJsonstring1 = JSONResult.Replace("[", "");
string FinalJsonstring2 = FinalJsonstring1.Replace("]", "");
Context.Response.Write(FinalJsonstring2);
//string aukey=HttpContext.Current.Request.Headers.Get("auth_key");
cmd.Dispose();
con.Close();
con.Dispose();
}
catch (Exception ex)
{
ExceptionLogging.SendErrorToText(ex);
status = ex.GetHashCode().ToString();
message = ex.Message.ToString();
throw new SoapException(ex.Message, SoapException.ServerFaultCode, Context.Request.Url.AbsoluteUri);
}
finally
{
cmd.Dispose();
con.Close();
con.Dispose();
}
}
//JavaScriptSerializer js = new JavaScriptSerializer() { MaxJsonLength = 867530900 };
//Context.Response.Write(js.Serialize(listbatch));
}
[WebMethod(EnableSession=false)]
[ScriptMethod(UseHttpGet=true,ResponseFormat=ResponseFormat.Json)]//指定返回格式。
public void ongoingtraining详细信息(字符串用户名)
{
//Context.Response.Write(用户名);
List LISTBACH=新列表();
使用(SqlConnection con=newsqlconnection(strConn))
{
SqlCommand cmd=新的SqlCommand(“应用程序服务”,con);
尝试
{
cmd.CommandType=CommandType.storedProcess;
cmd.Parameters.AddWithValue(“@Paravalue”,“2”);
cmd.Parameters.AddWithValue(“@value”,用户名);
cmd.Parameters.AddWithValue(“@value1”和“”);
cmd.Parameters.AddWithValue(“@value2”,“0”);
cmd.Parameters.AddWithValue(“@value3”,“0”);
con.Open();
SqlDataReader rdr=cmd.ExecuteReader();
while(rdr.Read())
{
Response res=新响应();
res.status=0;
res.message=“欢迎来到u”;
//res.auth_key=rdr[“auth_key”].ToString();
数据批=新数据();
{
batch.vUniqueCode=rdr[“vUniqueCode”].ToString();
batch.vTrainingName=rdr[“BatchTitle”].ToString();
batch.dstardate=rdr[“BatchStarDate”].ToString();
batch.dEnddate=rdr[“BatchEndDate”].ToString();
batch.vDistrict=rdr[“CityName”].ToString();
batch.vState=rdr[“StateName”].ToString();
batch.Address=rdr[“Address”].ToString();
batch.TrainerId=int.Parse(rdr[“TrainerId”].ToString());
batch.eTrainingMode=rdr[“eTrainingMode”].ToString();
batch.vName=rdr[“vName”].ToString();
batch.iTrainingId=int.Parse(rdr[“vUniqueCode”].ToString());
res.data=批次;
};
listbatch.Add(res);
}
this.Context.Response.ContentType=“application/json;charset=utf-8”;
/
[WebMethod(EnableSession = false)]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public void ongoingtrainingdetails(string UserName)
{
SqlCommand cmd = new SqlCommand("App_Service", con);
try
{
var request = HttpContext.Current.Request;
IEnumerable<string> headers = request.Headers.GetValues("X-Api-Key");
var value = headers.FirstOrDefault();
// Code
}
catch (Exception ex)
{
//Code
}
finally
{
//Code
}
}