首页新闻找找看学习计划

谁知道为什么webseit下无法用$.post向后台发请求

0
悬赏园豆:10 [已解决问题] 解决于 2012-05-11 13:44

如题,我在webseit下向ashx页面发请求,根本不进处理函数,没反应,而在webapplication下就没事,谁能解释一下?我确定代码写的没问题,因为同样的代码在webapplication下就行。

冷水寒冰的主页 冷水寒冰 | 初学一级 | 园豆:4
提问于:2012-05-11 10:31
< >
分享
最佳答案
0

你注意一下请求路径,website默认使用的虚拟目录,不排除这个问题。

你可以用firebug监视一下请求。

收获园豆:10
丁码农 | 菜鸟二级 |园豆:437 | 2012-05-11 11:17

你好,我用httpwatch看了,确实是路径问题,我这这么写的代码:

View Code
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转吗?怎么调用,能写下吗?

冷水寒冰 | 园豆:4 (初学一级) | 2012-05-11 13:39

不用了 ,会了,谢谢啊。

冷水寒冰 | 园豆:4 (初学一级) | 2012-05-11 13:43

@冷水寒冰: 哈哈。我猜就是这样的。你直接写的"/"根目录嘛。哈哈。

建议你用相对路径,就不需要什么ResolveUrl之类的。

如果是asp.net,可以用"~"符号表示本应用的根目录的。

丁码农 | 园豆:437 (菜鸟二级) | 2012-05-11 13:49
其他回答(1)
0

post有缓存,同样的连接只请求一次,你可以用直接用%.ajax请求,然后在参数里取消cache和用post方式。

也可以在你的连接后面加一个随机数 http://www.aaa.com/a.aspx?id=随机数 来保证每次连接不同!

wuyou331 | 园豆:101 (初学一级) | 2012-05-11 11:05

%.ajax 写错 是 $.ajax

支持(0) 反对(0) wuyou331 | 园豆:101 (初学一级) | 2012-05-11 11:05

不是缓存的问题,不信你建个website试试。

支持(0) 反对(0) 冷水寒冰 | 园豆:4 (初学一级) | 2012-05-11 11:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册