如题,我在webseit下向ashx页面发请求,根本不进处理函数,没反应,而在webapplication下就没事,谁能解释一下?我确定代码写的没问题,因为同样的代码在webapplication下就行。
你注意一下请求路径,website默认使用的虚拟目录,不排除这个问题。
你可以用firebug监视一下请求。
你好,我用httpwatch看了,确实是路径问题,我这这么写的代码:
1 <script type="text/javascript"> 2 $(function() { 3 $("#btn").click(function() { 4 5 $.post("/Handler.ashx", { "action": "upload" }, function(data) { alert(data) }, "JSON"); 6 }); 7 }); 8 </script>
然后监视请求的路径为http://localhost:54128/Handler.ashx,本应该是http://localhost:54128/WebSite1/Handler.ashx.请问这个路径我该怎么写?是用ResolveUrl转吗?怎么调用,能写下吗?
不用了 ,会了,谢谢啊。
@冷水寒冰: 哈哈。我猜就是这样的。你直接写的"/"根目录嘛。哈哈。
建议你用相对路径,就不需要什么ResolveUrl之类的。
如果是asp.net,可以用"~"符号表示本应用的根目录的。
post有缓存,同样的连接只请求一次,你可以用直接用%.ajax请求,然后在参数里取消cache和用post方式。
也可以在你的连接后面加一个随机数 http://www.aaa.com/a.aspx?id=随机数 来保证每次连接不同!
%.ajax 写错 是 $.ajax
不是缓存的问题,不信你建个website试试。