我正在使用一个脚本管理器,我正在从一个按钮调用JavaScript函数。问题是,在这个函数中,我调用了一个web服务。我总是得到错误回调,即使在web服务函数中没有代码。我不知道为什么会这样。
这是我的按钮:
<button id="button" onclick="save()"></button>
这是JS函数:
function save() {
var id = document.getElementById("label").innerHTML;
var text = document.getElementById("textarea").value;
alert(text);
// OPUS.WebService1.saveChange(id, text, success, error);
OPUS.WebService1.saveChange( 1, "test", success, error);
}
function success(result) {
alert(result);
// __doPostBack('UpdatePanel', '');
}
function error(error) {
var stackTrace = error.get_stackTrace();
var message = error.get_message();
var statusCode = error.get_statusCode();
var exceptionType = error.get_exceptionType();
var timedout = error.get_timedOut();
var RsltElem =
document.getElementById("test").innerHTML =
"Stack Trace: " + stackTrace + "<br/>" +
"Service Error: " + message + "<br/>" +
"Status Code: " + statusCode + "<br/>" +
"Exception Type: " + exceptionType + "<br/>" +
"Timedout: " + timedout;
}
这是我的web服务功能:
[WebMethod]
public bool saveChange(int id, string newText)
{
/*OPUSPUBAPPEntities1 model;
model = new OPUSPUBAPPEntities1();
var test = model.MESSAGEs.First(m => m.MessageID.Equals(id));
test.Msg = newText;
// var t = model.SaveChanges();
// return t.ToString();*/
return true;
}
还有另一件奇怪的事情发生了,那就是我在误差函数中改变的标签接受了值,然后消失了。我也不知道为什么,有人能帮帮我吗?
如果有人感兴趣,这里是答案
i应该在函数save()中返回false然后使用
`<button id="button" onclick="return save(); "></button>`
原因在这里
我希望这对你有帮助