C# 从Ajax/Javascript调用WebService
我这里有点挤。我使用C#创建了一个Web服务。当我调用WebService时,它工作正常。Javascript似乎击中了Web服务,破坏了Web服务,然后继续执行其余的操作。我认为这是我把Web服务称为错误的问题。我搜索了所有地方,发现了大量不同的例子,但是,它们似乎都不起作用 如果您转到它,它将触发test.js,然后调用位于此处的my web服务: 下面是test.js代码-C# 从Ajax/Javascript调用WebService,c#,javascript,ajax,web-services,C#,Javascript,Ajax,Web Services,我这里有点挤。我使用C#创建了一个Web服务。当我调用WebService时,它工作正常。Javascript似乎击中了Web服务,破坏了Web服务,然后继续执行其余的操作。我认为这是我把Web服务称为错误的问题。我搜索了所有地方,发现了大量不同的例子,但是,它们似乎都不起作用 如果您转到它,它将触发test.js,然后调用位于此处的my web服务: 下面是test.js代码- var xmlHttp; setTimeout("sendMessage('rory@careercheatcode
var xmlHttp;
setTimeout("sendMessage('rory@careercheatcode.com');", 2000);
function doUpdate()
{
if(xmlHttp.readyState===4){
alert("Worked");
}
else{
alert("Broke");
}
}
function sendMessage(strTo)
{
try{
// Opera 8.0+, Firefox, Safari
xmlHttp = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Ajax is not supported
return false;
}
}
}
xmlHttp.open("post", "http://www.darkslidedesign.com/services/ms_Alert.asmx", true);
var params = "op=Sending_Email&strEmailAddrFrom=rory@darkslidedesign.com&strEmailAddrTo=" + strTo;
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", params.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.onreadystatechange=doUpdate;
xmlHttp.send(params);
return false;
}
最好从jQuery$.ajax()开始 这里有一个代码片段,可以让我在文本框中发表评论
function Post() {
var ow = "username";
var cmt = $("#comment").val();
$.ajax(
{
type: "POST",
url: "/comment/Save",
dataType: "json",
data: "id=2332&author=" + ow + "&cmt=" + cmt,
success: function (result) {
if (result.status === "OK") {
alert('Comment posted');
}
else
alert("Post failed");
},
error: function (req, status, error) {
alert("Sorry! Post failed due to error");
}
});
}
希望这能指导你。
感谢来自Javascript的web服务调用,我使用了两件事:
我肯定会推荐你阅读这两方面的内容。。。他们都非常棒 我强烈建议使用jQuery广泛而轻巧的AJAX库实现以下目的:获取readystate!=4并不意味着它坏了;这只是意味着请求尚未完成加载。另外,尝试使用两个等号而不是三个。@lazycs:通常在javascript中,您应该始终使用三个等号来测试相等性。否则,由于类型强制,您可能会得到意外的结果。@lazycs-我知道它不会破坏它。这是伪文本。请注意,问题不在于DoUpdate函数。我的问题存在于下面的代码中。我需要以这种方式进行设置,因为客户端只能在页面中包含一个javascript文件(指向test.js),而这应该可以处理rest。comment是文本框的id。您需要指定要发布到HI的url,感谢您的输入。但是,我需要通过对javascript文件的单个调用触发它,以便在客户端上使用。这将触发执行其余操作的Web服务。我认为,问题在于sendUpdate函数的末尾是XMLHttp对象。