![](/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.