【发布时间】:2013-02-18 05:08:28
【问题描述】:
我尝试使用 jQuery 实现 ajax。这是我第一次使用 ajax.so 在按钮单击中我需要显示当前日期时间。为此,我编写了以下代码
//==============aspx页面===============
<script type="text/javascript">
$(document).ready(function (){
var Button1 = $("#Button1");
var Label1 = $("#Label1");
Button1.click(function (){
$.ajax({
type: "POST",
url: "/myownajax14/WebService/WebService1.asmx/GetDateTime",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$("#Label1").text(msg.d);
//alert('hi');
},
error:alert('error');
});
});
});
//================asmx.cs页面===========
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
public string GetDateTime()
{
return DateTime.Now.ToString();
}
}
我的问题是,它没有给出答案..它没有显示任何错误。这段代码有什么错误吗?请帮助我..
【问题讨论】:
-
首先您应该使用 FireBug 跟踪您的请求
-
您可以对此进行调试以准确查看问题所在。比如在通过VS调试的时候,在方法中放一个断点,看是否命中。如果是这样,那么调用它的javascript就可以了,所以问题必须在之后。此外,请查看浏览器开发人员工具中的“网络”选项卡,以查看服务器请求是否真的发生过。如果不是,那么问题出在调用该方法的代码上。无论结果如何,通过使用您的工具进行调试,您将了解很多关于问题是什么(或不是)的信息。
-
试试这个:
Button1.click(function (e){ e.preventDefault()并使用错误函数error:function(){alert('error')}; -
@Jai:我试过了。但它不起作用。仍然给出了相同的结果..
-
@pearl90 在成功函数中尝试这个并在控制台中查看你会得到什么:
console.log(msg);