Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
简单jquery.ajax/webmethod示例不起作用--如何修复_Jquery_Asp.net_Ajax - Fatal编程技术网

简单jquery.ajax/webmethod示例不起作用--如何修复

简单jquery.ajax/webmethod示例不起作用--如何修复,jquery,asp.net,ajax,Jquery,Asp.net,Ajax,我在上获得了这个简单的webmethod示例 现场演示在网站上运行。我下载了示例代码,并将代码复制到我的测试webapp中,如下所示——除了我的示例应用程序不工作。我的(VS2013)示例应用程序的脚本文件夹中有相同的jquery-1.3.2.min.js(我在这个文件夹中有几个jquery脚本) 以下是我的示例应用程序中的客户端脚本/标记代码(WebForm3是起始页) 函数ShowCurrentTime(){ var userName=$('#txtUserName').val() $.

我在上获得了这个简单的webmethod示例

现场演示在网站上运行。我下载了示例代码,并将代码复制到我的测试webapp中,如下所示——除了我的示例应用程序不工作。我的(VS2013)示例应用程序的脚本文件夹中有相同的jquery-1.3.2.min.js(我在这个文件夹中有几个jquery脚本)

以下是我的示例应用程序中的客户端脚本/标记代码(WebForm3是起始页)


函数ShowCurrentTime(){
var userName=$('#txtUserName').val()
$.ajax({
键入:“POST”,
url:'WebForm3.aspx/GetCurrentTime',
数据:JSON.stringify({name:userName}),
contentType:'application/json;charset=utf-8',
数据类型:“json”,
成功:一旦成功,
故障:功能(响应){
警报(response.d);
}
});
}
函数OnSuccess(响应){
警报(response.d);
}
您好,Rich,从我所看到的情况来看,您的ajax调用基本上是正确的,但是您希望确保避免使用字符串连接来传递参数,您可以通过使用数据散列(即JSON.stringify)或传递您创建的变量来保存参数的数据来做同样的事情。如果此修复不起作用,我建议创建一个变量并从txtUserName.ClientID加载值,我不能确定,但这可能是另一个潜在问题。希望这有帮助


函数ShowCurrentTime(){
var userName=$('#txtUserName').val()
$.ajax({
键入:“POST”,
url:'WebForm3.aspx/GetCurrentTime',
数据:JSON.stringify({name:userName}),
contentType:'application/json;charset=utf-8',
数据类型:“json”,
成功:一旦成功,
故障:功能(响应){
警报(response.d);
}
});
}
函数OnSuccess(响应){
警报(response.d);
}

您好,Rich,从我所看到的情况来看,您的ajax调用基本上是正确的,但是您希望确保避免使用字符串连接来传递参数,您可以通过使用数据散列(即JSON.stringify)或传递您创建的变量来保存参数的数据来做同样的事情。如果此修复不起作用,我建议创建一个变量并从txtUserName.ClientID加载值,我不能确定,但这可能是另一个潜在问题。希望这有帮助

感谢您的回复--我尝试了修改后的ShowCurrentTime()函数,并收到以下错误消息:第17行出现未处理的异常,0x800a01b6中的第13列-JavaScript运行时错误:对象不支持属性或方法“val”我是否需要其他jquery…js文件?嘿,没问题,我会切换回.value,然后确认其中的值是字符串或您期望的值。我将其从.value改为.val()的唯一原因是,jQuery只支持.val()从元素中检索值,但如果它给了您一个错误,我会尝试将其改回,看看会发生什么。我切换回.value()--会给我错误消息。然后在没有帕伦斯的情况下尝试,我回到了原点,没有收到任何错误信息或任何东西。你试过这个示例了吗?如果你想要的只是文本框中的值,也就是用户名,那么我已经更新了我的答案,它确实有效,我已经在我的机器上测试过了。好了,现在一切都正常了,包括你修改过的jquery函数。我只能断定是邪恶的jquery/json侏儒阻碍了我的视线——但我战胜了他们!非常感谢您的帮助。感谢您的回复--我尝试了您修改的ShowCurrentTime()函数,并收到以下错误消息:第17行出现未处理的异常,0x800a01b6中的第13列-JavaScript运行时错误:对象不支持属性或方法“val”我是否需要其他jquery…js文件?嘿,没问题,我会切换回.value,然后确认其中的值是字符串或您期望的值。我将其从.value改为.val()的唯一原因是,jQuery只支持.val()从元素中检索值,但如果它给了您一个错误,我会尝试将其改回,看看会发生什么。我切换回.value()--会给我错误消息。然后在没有帕伦斯的情况下尝试,我回到了原点,没有收到任何错误信息或任何东西。你试过这个示例了吗?如果你想要的只是文本框中的值,也就是用户名,那么我已经更新了我的答案,它确实有效,我已经在我的机器上测试过了。好了,现在一切都正常了,包括你修改过的jquery函数。我只能断定是邪恶的jquery/json侏儒阻碍了我的视线——但我战胜了他们!非常感谢你的帮助。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>WebForm3</title>

<script src="Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>

<script type = "text/javascript">
    function ShowCurrentTime() {
        $.ajax({
            type: "POST",
            url: "WebForm3.aspx/GetCurrentTime",
            data: '{name: "' + $("#<%=txtUserName.ClientID%>")[0].value + '" }',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: OnSuccess,
            failure: function (response) {
                alert(response.d);
            }
        });
    }

    function OnSuccess(response) {
        alert(response.d);
    }
</script> 

</head>
<body>
    <form id="form1" runat="server">
    <div>
    Your Name : 
    <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
    <input id="btnGetTime" type="button" value="Show Current Time" onclick = "ShowCurrentTime()" />
    </div>
    </form>
</body>
</html>
public partial class WebForm3 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    [System.Web.Services.WebMethod]
    public static string GetCurrentTime(string name)
    {
        return "Hello " + name + Environment.NewLine + "The Current Time is: "
            + DateTime.Now.ToString();
    }
}
<script type = "text/javascript">
function ShowCurrentTime() {
    var userName = $('#txtUserName').val()
    $.ajax({
        type: 'POST',
        url: 'WebForm3.aspx/GetCurrentTime',
        data: JSON.stringify({ name: userName }),
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        success: OnSuccess,
        failure: function (response) {
            alert(response.d);
        }
    });
}

function OnSuccess(response) {
    alert(response.d);
}
</script>