【发布时间】:2015-03-11 02:53:28
【问题描述】:
我创建了一个 web 方法,现在我在我的 java 脚本文件中调用它,但它给出了一个路径错误,它无法找到我给出的路径..
网页方法代码为:
[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 的 url 路径中删除第一个斜杠 (/) 并尝试
-
试过了,没解决我的问题
-
查看文件夹在sitecore文件夹中是什么?
-
设为
public static int ItemCount(string itemId)并删除Request用法、dataType: "json"和contentType: "application/json; charset=utf-8和type: "POST",如下例所示。 -
你也在使用
data: JSON.stringify({ itemId: itemId }),而不是带有查询字符串的url?
标签: javascript c# jquery json asp.net-mvc