我想從jQuery POST獲取數據字符串到aspx頁面。但沒有運氣。在aspx中從jQuery POST檢索數據
這是我的jQuery
而在ASPX的開始,我有這個
string strName = Request.QueryString["name"];
可以看我的「名字」字符串在瀏覽器中通過調試發送。但我無法檢索它。 我來自傳統的ASP,並試圖學習ASP.net C#。我一直無法找到任何搜索結果解釋如何做到這一點。
幫助非常感謝=)
我想從jQuery POST獲取數據字符串到aspx頁面。但沒有運氣。在aspx中從jQuery POST檢索數據
這是我的jQuery
而在ASPX的開始,我有這個
string strName = Request.QueryString["name"];
可以看我的「名字」字符串在瀏覽器中通過調試發送。但我無法檢索它。 我來自傳統的ASP,並試圖學習ASP.net C#。我一直無法找到任何搜索結果解釋如何做到這一點。
幫助非常感謝=)
function ShowCurrentTime() {
$.ajax({
type: "POST",
url: "CS.aspx/GetCurrentTime",
data: '{name: "' + $("#<%=txtUserName.ClientID%>")[0].value + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function(response) {
alert(response.d);
}
});
}
function OnSuccess(response) {
alert(response.d);
}
在C#-----
[System.Web.Services.WebMethod]
public static string GetCurrentTime(string name){
return "Hello " + name + Environment.NewLine + "The Current Time is: "
+ DateTime.Now.ToString();
}
你應該使用WebService。
[WebService, ScriptService]
public class WebService1 : WebService
{
[WebMethod]
public string names(string name)
{
return "Hello " + name;
}
}
然後使用Javascript從客戶端調用它。
function namePerson() {
$.ajax({
type: "POST",
url: "WebService1.asmx/names",
data: JSON.stringify({ name: "Anders" }),
contentType: "application/json; charset=utf-8",
beforeSend: function() {
$("#ViewContainer").html("<img src='loading.gif' />");
},
success: function (msg) {
$("#ViewContainer").html(msg.d);
alert(msg.d);
}
});
}
請確保contentType: "application/json; charset=utf-8"
存在,否則網絡服務將使用XML響應。
此外,您應該使用done
而不是success
。
您正在錯誤地致電JQuery.AJAX
。此行不正確。
url: "names.aspx",
我覺得可能是你的頁面names.aspx
您嘗試調用內的一些方法。想想你已經頁面像names.aspx
和頁面內(隱藏文件的代碼),你係統會根據您提供的數據名稱的方法,因此該方法定義和聲明會像
[WebMethod]
public void GetNames(string name)
{
...
}
和你JQuery的AJAX調用的URL會像
url: "names.aspx/GetNames",
希望它可以幫助您瞭解如何調用方法背後視圖的代碼JQuery.AJAX
這工作,只是我想在另一個方法中使用該字符串。我用google搜索了一個虛空,它不能返回任何東西。我試圖讓它'公共靜態字符串'。然後我可以設置'返回strName;'但我不能在另一個方法中調用字符串。是的,我是一個新手試圖讓我的頭在此:) – sumpen
是的,無效返回什麼,它取決於你想通過ajax調用該方法。你可以調用任何需要調用的方法,該方法不僅可以返回字符串,還可以返回Json和其他數據類型。 –
ajax調用僅返回用戶上傳文件的頁面。我需要傳遞字符串'name',因爲我手動重命名上傳的文件並使用此字符串。我想做的所有事情都將它傳遞給我,並且可以在我上傳文件的方法中使用。我嘗試將'[WebMethod] public ..'移動到由上傳按鈕觸發的方法中。但是這造成了CS1513:'}'的預期錯誤。我在這裏發佈代碼:https://pastebin.com/XLkdcceW – sumpen
如果使用ASMX文件,以使web服務則是指
詳細的文章Simple Asp.net jQuery ajax Example, C# WebMethod with sql database
ELSE同一網頁的代碼隱藏做到這樣的下面寫
代碼隱藏: 在你的名字。aspx頁面添加此功能,使其靜態
[WebMethod]
public static string names(List<string> obj)
{
string result = string.Empty;
// code Logic
string n1=obj[0];
string n2=obj[1];
string n3=obj[2];
return result;
}
現在使用jQuery AJAX調用這個函數
JS代碼:
function namePerson() {
var aData = [];
aData[0] = "John";
aData[1] = "Andrea";
aData[1] = "Leslie";
var jsonData = JSON.stringify({ obj: aData });
$.ajax({
type: "POST",
url:"names.aspx/names",
data: jsonData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess_,
error: OnError_
});
}
function OnSuccess_(response){
var result=response.d;
alert(result);
}
function OnError_(error){
alert(error);
}
參考的Asp.net本教程好文章jQuery的Ajax http://codepedia.info/jquery-ajax-json-example-asp-net-sql-database/ –