我创建了一个Web方法,现在我在Java脚本文件中调用了此方法,但是它给出了路径错误,它无法找到我给出的路径..
Web方法代码为:
[System.Web.Services.WebMethod]
public static int ItemCount(string itemId)
{
int val = 0;
Item itm = Sitecore.Context.Database.GetItem(itemId);
val = itm.Children.Count;
return val;
}
java脚本函数的调用方式如下:
function GetItemCount(itemId) {
var funRes = "";
debugger;
try {
if (itemId != null) {
jQuery.ajax({
cache: false,
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/Views/GetItem.aspx/ItemCount",
data: { itemId: itemId },
dataType: "json",
async: false,
success: function (data) {
funRes = data.result;
},
error: function(err) {
alert(err.responseText);
}
});
}
} catch (ex) {
alert(ex.message);
}
return funRes;}
虽然我为C#方法类提供了确切的路径,但是它无法正常工作,但在控制台上却给出了一个错误,有人可以建议我在这里缺少什么吗。
Ajax与asp.net一起使用的规则很少。
- 您的WebMethod应该为
public
和static
。- 如果您的WebMethod期望某些参数,则必须像
data
在ajax中一样传递这些参数。- 参数名称应
same
在ajax中,WebMethod
且应在data
其中。- 从ajax传递的数据应该在中
json string
。为此,您可以使用,JSON.stringify
否则您必须将values
参数的包围在中quotes
。
请检查以下示例ajax调用
function CallAjax()
{
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Default.aspx/CallAjax",
data: JSON.stringify({ name: "Mairaj", value: "12" }),
dataType: "json",
async: false,
success: function (data) {
//your code
},
error: function (err) {
alert(err.responseText);
}
});
}
[WebMethod]
public static List<string> CallAjax(string name,int value)
{
List<string> list = new List<string>();
try
{
list.Add("Mairaj");
list.Add("Ahmad");
list.Add("Minhas");
}
catch (Exception ex)
{
}
return list;
}
编辑
如果GET
在ajax中使用,则需要启用从GET
请求中调用Web方法。[System.Web.Script.Services.ScriptMethod(UseHttpGet = true)]
在WebMetod上添加
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod(UseHttpGet = true)]
public static int ItemCount()
问题内容: 我试图从C ++获得一个简单的Java方法调用,而Java调用本机方法。这是Java代码: 我试图在从Java到本机的方法调用过程中从本机代码调用方法。 干净的编译应用停止并显示下一条消息后: 显然,这意味着方法名称错误,但对我来说似乎不错。 问题答案: 如果是对象方法,则需要将该对象传递给: 你正在做什么相当于。 由于你的方法无效,因此应调用: 如果要返回结果,则需要更改JNI签名(
问题内容: 我正在尝试从C 调用python类中的方法。调用它的C 方法是C ++回调。 在此方法中,当我尝试调用python方法时,它给出了。 我已经将python函数的实例保存在全局变量中,例如 python方法在哪里,将在回调中使用。 在回调中,参数创建为 创建时 在这一行中,它给出了细分错误。之后,实际的python方法称为 问题答案: 如果要从C / C ++回调中调用Python函数,
问题内容: 我创建了一个Java类内容方法,返回一个String,我的问题是如何在我的JavaScript代码中调用此函数以使用从java方法返回的值。我想调用嵌入在浏览器中的客户端Java代码。 这是我在说什么的一个例子: 在我的网页中,我有一个javascript代码,下面是其中的一些内容: 我想创建一个Java类内容方法来向此javascript函数“ GanttTaskInfo”提供数据。
问题内容: 有谁知道如何使用javascript调用服务器端c#方法?我需要做的是如果选择“取消”则停止导入,或者如果选择“确定”则继续导入。我正在使用Visual Studio 2010和C#作为编程语言 这是我的代码: 问题答案: PageMethod是Asp.Net AJAX的一种更轻松,更快速的方法。通过释放AJAX的功能,我们可以轻松地改善用户体验和Web应用程序的性能。我最喜欢AJAX
我在一个名为seedrecord的对象和一个名为FielliateLink的对象之间有一个manytomany关系。为了删除FielliateLink,我需要首先从每个SeedRecord的FielliateList中删除对它的引用。之后,我使用spring JParepository的delete方法删除对象。因为我的服务(FiniliateLinkService)中有不同的删除方法,所以我决定
问题内容: 因此,我正在编写一个使用大型c 库的Android应用。我可以正常工作,以便Java应用程序可以调用c 委托方法,但是我发现自己希望自己可以将来自c 的消息记录到Android日志中。从Java上这很容易,但是我不知道如何从c 调用Java方法。我的搜索找到了从c 打开jvm的方法,这根本不是我想要做的。理想情况下,我想将日志方法指针传递给c ,然后可以在需要时使用它。当然,Java不