У меня есть 2 модуля dnn. Позволяет называть их A & B. У меня есть функция jQuery Ajax, которая работает на B на $ (document) .ready().Функция не работает должным образом при вызове ajax
на основе AJAX вызывает событие Page_Load в модуле А., где у меня есть следующий код на Page_Load
if (Request.Headers["X-OFFICIAL-REQUEST-MINE"] == "TRUE")
{
AjaxWrapper(Request.Headers["X-ItemString"].ToString());
}
AjaxWrapper имеет следующий код
protected void AjaxWrapper(string Inputstring)
{
Label testLbl = new Label();
testLbl.Text = Inputstring;
DynamicPlaceHolder.Controls.Add(testLbl);
Inputstring = " This c# call from ajax works!!!";
Response.Clear();
Response.ContentType = "text";
byte[] b = Response.ContentEncoding.GetBytes(Inputstring);
Response.AddHeader("Content-Length", b.Length.ToString());
Response.Write(Inputstring);
Response.Flush();
Response.Close();
Response.End();
return;
}
Первые 3 строки AjaxWrapper не работают и метка не отображается на экране, но работает ajax sucess fucntion. это предупреждение, чтобы показать мне строку «Этот вызов C# из ajax works».
Ниже приводится Аякс вызов из В.
jQuery.ajax({
type: "POST",
async: "false",
url: location.href,
contentType: "application/json; charset=utf-8",
data: (jsonData),
dataType: "text",
success: function (data, textStatus, jqXHR) {
alert("Response" + jqXHR.responseText);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Error: " + textStatus + ", " + errorThrown);
},
beforeSend: function (xhr) {
xhr.setRequestHeader("X-ItemString", $Pids);
xhr.setRequestHeader("X-OFFICIAL-REQUEST-MINE", "TRUE"); // Used to ID as a AJAX Request
},
complete: function (XMLHttpRequest, textStatus) {
}
});