【问题标题】:jQuery AJAX not working on production serverjQuery AJAX 在生产服务器上不起作用
【发布时间】:2012-11-01 15:02:04
【问题描述】:

这是我在这里的第一篇文章。任何帮助都是极好的。我正在尝试使用 jQuery 和 AJAX 从我的 aspx 页面调用 vb.NET 子例程。当我在我的 PC (Windows XP SP2) 上运行 VS 2008 的页面时,它运行良好。当我将站点复制到生产服务器 Windows Server 2008 时,它什么也没做。没有错误或任何东西。我试过用 IE 的脚本调试器进行调试。几天来我一直试图解决这个问题,但一无所获。

这是脚本:

<script type = "text/javascript">
    function AjaxTest() {
        $.ajax({
            type: 'POST',
            url: "Test.aspx/AjaxTestSub",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: 'json',
            async: true,
            cache: false,
            success: OnSuccess,
            failure: function (response) {
                alert("Didn't work!");
            }
        });
    }
    function OnSuccess(response) {
        alert("Worked!");
    }
</script>

这是一个简单的子程序:

<WebMethod()> Public Shared Sub AddPOToTrailer()
    MsgBox("Made it to Subroutine!")
End Sub

我确定我遗漏了很多信息,所以请询问您是否能想到任何可能有帮助的东西。

【问题讨论】:

  • 看起来您正在使用相对 URL 作为 Test.aspx 页面引用。该页面在服务器上与您的开发环境中的位置是否相同?

标签: jquery asp.net ajax webmethod


【解决方案1】:

您不能从服务器端代码调用MsgBox()
摆脱那个电话,一切都会好起来的。

【讨论】:

    【解决方案2】:

    如果您想测试调用是否返回数据,您可以使用 Response.Write 而不是 MsgBox。请记住,您可能需要使用 Response.Clear 和 Response.Flush,具体取决于您管理代码的方式。如果它是一个 HttpHandler 或 Web 服务调用,你应该没问题,但是如果你正在调用一个网页,如果你没有指示服务器停止 Response.End 一旦你写了它就会呈现页面内容(即 HTML)您的内容到输出流。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-15
      • 2019-05-13
      • 2016-12-20
      • 2017-02-18
      • 2016-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多