你的JS代码和WS共享相同的路径吗?尝试指定web服务的路径,并且包含对象的更简单的初始化。
function sendStates(data) {
var states = {Id: 1, Name: "Chandan"};
$.post("/WebService.asmx/MultiDim/", states, function (data) {
alert("reached");
});
}
UPDATE: 你看了网络流量,以验证请求实际上是被发送到服务,或观看在控制台针对任何信息的反馈?
我实现没有问题,在所有的测试应用(减去web服务)以下内容:
function dataTest (data) {
console.info('Arrived in the dataTest function');
var states = { Id: 1, Name: 'Dustin' };
$.post("Home/SomeTest", states, function (data) {
console.info('Post complete, data below');
console.log(data);
alert('here');
}, 'json');
}
var ob = [{ Id: 3, Name: "Test" }, { Id: 4, Name: "Testing"}];
dataTest(ob);
更新2: 是你能验证功能实际上是获取调用,通过控制台或网络?在console.info中('这里有一些文字'),以确定你是否甚至把它变成你的函数。如果你正在把它变成你的功能,问题在于WebService。如果你没有完成这个功能,问题在于你的JS。
更新3: 我将首先验证您可以使用您发布的地址调用WebService,并且它按预期运行。如果通过: 如果调用是一个事件的结果并且它是相应的处理程序:我将首先从事件处理程序中进行跟踪,验证它是否确实正在触发,最后它将它发送到sendStates(数据)呼叫。 其他:设置断点并确认您正在进行sendStates(数据)调用。 如果您尚未使用Google Chrome,则可让Javascript在公园内散步。祝你好运!
您是否正确设置了您的网址映射? – Igor 2012-03-14 20:17:39
警报是否被触发?如果不是,那就意味着你没有正确连接,这反过来表明路径不正确。 “WebService.asmx/MultiDim /”与您调用URL的位置相同吗? – Steve 2012-03-14 20:18:48