【发布时间】:2014-09-27 22:55:13
【问题描述】:
我知道这种问题被讨论过很多次,但在阅读完所有问题后我无法解决我的问题。所以请允许我问这个问题-
我正在使用下面的代码使用 AJAX 和 JQuery 发送 GET 请求 -
$.ajax({
url: url,
success:function(data){
alert('success');
},
error:function(){
alert('failure');
}
});
我在成功时收到警报,但我的操作没有被调用。
网址类似于:http://example.com:8080/abc/action1.do?param1=1¶m2=2
我已尝试使用 url : /abc/action1.do?param1=1¶m2=2,仍然没有运气。
令人惊讶的是,这段代码(虽然在其他地方我正在使用 POST)在我工作区的所有其他地方都有效。我在互联网上搜索了很多,但仍然无法解决问题。谁能帮帮我?
- 网址正确。这个毋庸置疑。尝试使用相对 URL 和绝对 URL。
- 我正在发送 get 请求并发送几个 GET 参数作为请求 URL 的一部分。不发送数据
- 我没有收到任何 JS 错误。
- 请求不会发送到服务器(没有命中操作类),因此 java 异常中没有异常。我们使用的是 struts 1.3 框架。
我在我的操作类中添加了一个调试点,还添加了一些系统输出来测试一切是否正常。结果是,AJAX 获取请求没有调用动作类。
[解决方案]
我已经用下面的代码解决了-
var postParameter = 'param1=a¶m2=b';
var action = 'something.do';
$.ajax({
type : "POST",
url : action,
async : true,
dataType: "HTML",
data : postParameter
});
【问题讨论】:
-
请分享更多信息,例如异常消息、请求或您应用的其他代码。确保 URL 正确。我不确定你是否发送了任何参数。
-
嗨帕特里克,我已经更新了我的问题,提供了更多细节。如果您还需要什么,请告诉我。
-
“动作没有被调用”是什么意思?你的行动是什么
-
我已经更新了我的问题。
-
你能发布一些struts配置和动作吗?也许你的控制台日志?当您使用 POST 时,相同的 AJAX 调用是否有效?