Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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
C# javascript在IIS中不工作_C#_Javascript_Iis - Fatal编程技术网

C# javascript在IIS中不工作

C# javascript在IIS中不工作,c#,javascript,iis,C#,Javascript,Iis,我的页面卸载javascript工作正常,但在IIS中不工作,我需要在IIS中为此授予任何权限吗?这是我的javascript不工作 window.onbeforeunload = InitializeService; function InitializeService() { InitializeService1(); if (checkdisposition.disposition == "") { var agree = confirm("You Di

我的页面卸载javascript工作正常,但在IIS中不工作,我需要在IIS中为此授予任何权限吗?这是我的javascript不工作

window.onbeforeunload = InitializeService;
function InitializeService() {
    InitializeService1();
    if (checkdisposition.disposition == "") {
        var agree =   confirm("You Did Not Save Disposition, Are You Sure You Want To Navigate?");
        if (agree) {
            return true;
        }
        else {
            return "You Did Not Save Disposition ";
        }
    }
}

function InitializeService1() {
    if (window.XMLHttpRequest) {
        var url = "http://localhost:54329/WebServices/PageUnloadCall.asmx?op=Page_Unload";
        myReq.onreadystatechange = checkStatus1;
        myReq.open("GET", url, false); // true indicates asynchronous request
        myReq.send();
    }
}

大多数浏览器不允许在
onbeforeuload
处理程序期间发送
XMLHttpRequest

另外,在处理
onbeforeunload
时不应显示提示。如果有未保存的数据,您应该只返回一个字符串

从Alexei的回答来看,我猜真正的问题在于,您是通过在URL栏中键入
localhost
来运行页面的。但在部署时,您键入的是已部署服务器的名称。正如Alexei所建议的,您不应该在代码中硬编码
localhost
。因为看起来你想在客户端做,所以你应该使用


大多数浏览器不允许在
onbeforeuload
处理程序期间发送
XMLHttpRequest

另外,在处理
onbeforeunload
时不应显示提示。如果有未保存的数据,您应该只返回一个字符串

从Alexei的回答来看,我猜真正的问题在于,您是通过在URL栏中键入
localhost
来运行页面的。但在部署时,您键入的是已部署服务器的名称。正如Alexei所建议的,您不应该在代码中硬编码
localhost
。因为看起来你想在客户端做,所以你应该使用


“非IIS案例”和“IIS案例”的站点URL是什么?打开Web请求时,您可能遇到跨域限制”http://localhost:54329“在IIS情况下(因为站点会不同(通常)


请注意,正如@Juan Mendes指出的那样,XMLHttpRequest在那时可能根本不起作用,并且在页面结束之前肯定不会返回异步结果。页面结束。

您的站点的“非IIS案例”和“IIS案例”的URL是什么?您在打开Web请求时可能会遇到跨域限制"http://localhost:54329“在IIS情况下(因为站点会不同(通常)



请注意,正如@Juan Mendes所指出的,XMLHttpRequest在那时可能根本不起作用,并且在页面结束之前肯定不会返回异步结果。Web服务器与客户端脚本无关。而且您的缩进非常糟糕。您不应该
确认()
警报()
在unbeforeunload事件中。只返回一个字符串并让浏览器进行提示。否则,您的用户将收到两个提示。这很可能是某种跨站点脚本问题。IIS只是服务器。您浏览的是运行此代码的哪个URL?尝试在ajax调用上使用相对URL运行Java是不常见的IIS中的脚本代码(根据您的示例,这也不太可能是您的案例)。请使用浏览器的开发工具(即在IE中按F12和调试脚本/查看控制台)为问题提供更好的错误信息。@AlexeiLevenkov。我写了很多(IIS)ASP代码在JavaScript中出现,但问题实际上是关于客户端JavaScriptWeb服务器与客户端脚本无关。而且您的缩进非常糟糕。您不应该
confirm()
alert()
在unbeforeunload事件中。只返回一个字符串并让浏览器进行提示。否则,您的用户将收到两个提示。这很可能是某种跨站点脚本问题。IIS只是服务器。您浏览的是运行此代码的哪个URL?尝试在ajax调用上使用相对URL运行Java是不常见的IIS中的脚本代码(根据您的示例,这也不太可能是您的案例)。请使用浏览器的开发工具(即在IE中按F12和调试脚本/查看控制台)为问题提供更好的错误信息。@AlexeiLevenkov。我写了很多(IIS)ASP代码在JavaScript中出现,但问题实际上是关于客户端JavaScriptIt可能是,但不管主机是什么,它都会工作相同。@Juan Mendes如果这是与浏览器相关的问题,为什么它与本地主机一起工作?@Hiren:添加了一个关于问题可能是什么的注释,但看起来你已经解决了它可能是什么,b但不管主机是什么,它都会工作。@Juan Mendes如果这是与浏览器相关的问题,为什么它与本地主机一起工作?@Hiren:添加了一条关于问题可能是什么的注释,但看起来你已经解决了。谢谢你的帮助。你完全正确,我在IE中测试了它,它在第行给出了错误“myReq.open(“GET”,url,false);”。我能解决这个问题吗?要获取站点的url,可以从服务器渲染它,或者使用window.location作为基础,或者有时使用相对url。请注意,这不太可能对您的整体情况有所帮助,因为在“导航”之外与服务器通信是个坏主意“.Hi谢谢你的帮助,你完全正确,我在IE中测试了它,它在‘myReq.open’(GET),url,false)行给出了错误信息'。我可以解决这个问题吗?要获取站点的Url,可以从服务器渲染,也可以使用window.location作为基础,或者有时使用相对Url。请注意,这不太可能对您的整体情况有所帮助,因为在“导航离开”时与服务器通信是个坏主意。
var url = location.host + "/WebServices/PageUnloadCall.asmx?op=Page_Unload";