![](/img/trans.png)
[英]Javascript call to server side function without AJAX or PageMethods
[英]AJAX call to server side function in javascript?
我是AJAX的新手,我不太清楚如何使用AJAX呼叫格式
$.ajax({
type: "POST",
url: "Default.aspx/function",
data: '{ searchBy: id }',
contentType: "application/json; charset=utf-8"
}).success(function (result) {
alert(result);
})
我在.cs
文件中有一個函數,該函數應接收字符串ID並返回包含該ID的所有對象的列表。
我想在javascript中調用此函數,以在將新對象插入數據庫之前檢查返回的列表是否為null(因此ID不存在)。
我該怎么做呢?
我看到的所有示例都從服務器端函數返回一個string
。
[WebMethod]
public static int function(int Id)
{
return Id;
}
如果只需要使用ajax,最好的選擇是XMLHttpRequest ,最好是Vanilla JS,更快。
如果決定將ajax與jquery一起使用,則函數為:
$.ajax({
type: "POST",
url: "Default.aspx/function",
data: { searchBy: id },
dataType: 'json',
success: function(result) {
// Do something
}
});
我從未做過C#,但是您的url
參數必須是文件的路徑(例如url: Default.aspx
)。 在文件中,您應該具有處理請求和調用正確函數的邏輯。 此功能將檢查數據庫,並打印結果。
// inside Default.aspx
// 1- is there a POST parameter? If so, call foo()
public static string foo(string postParam) {
// check DB, process
Print(result)
}
在您的success
回調中,檢查是否為null:
.then(function(result) {
if (result === null) // do stuff
})
如果您可以控制服務器端端點,則返回任何您想要表示不匹配的內容-空列表,空值,空字符串等。然后在成功函數中進行檢查。
注意dataType
ajax參數。 這告訴ajax函數如何格式化響應以供您使用。 如果您期望返回JSON,請使用dataType: json
並在success
函數中檢查空的json數組result.length === 0
。 如果為null或空字符串,請使用dataType: text
並檢查result == "null"
或result == ""
。 等等。
如果您無法控制服務器端,那么您將需要遵循其發送回您的任何數據。 盡管dataType
仍然是關鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.