【问题标题】:AJAX GET request not working in some placesAJAX GET 请求在某些地方不起作用
【发布时间】: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&param2=2

我已尝试使用 url : /abc/action1.do?param1=1&param2=2,仍然没有运气。

令人惊讶的是,这段代码(虽然在其他地方我正在使用 POST)在我工作区的所有其他地方都有效。我在互联网上搜索了很多,但仍然无法解决问题。谁能帮帮我?

  • 网址正确。这个毋庸置疑。尝试使用相对 URL 和绝对 URL。
  • 我正在发送 get 请求并发送几个 GET 参数作为请求 URL 的一部分。不发送数据
  • 我没有收到任何 JS 错误。
  • 请求不会发送到服务器(没有命中操作类),因此 java 异常中没有异常。我们使用的是 struts 1.3 框架。

我在我的操作类中添加了一个调试点,还添加了一些系统输出来测试一切是否正常。结果是,AJAX 获取请求没有调用动作类。

[解决方案]

我已经用下面的代码解决了-

var postParameter = 'param1=a&param2=b';
var action = 'something.do';
$.ajax({
    type : "POST",
    url : action,
    async : true,
    dataType: "HTML",
    data : postParameter
    });

【问题讨论】:

  • 请分享更多信息,例如异常消息、请求或您应用的其他代码。确保 URL 正确。我不确定你是否发送了任何参数。
  • 嗨帕特里克,我已经更新了我的问题,提供了更多细节。如果您还需要什么,请告诉我。
  • “动作没有被调用”是什么意思?你的行动是什么
  • 我已经更新了我的问题。
  • 你能发布一些struts配置和动作吗?也许你的控制台日志?当您使用 POST 时,相同的 AJAX 调用是否有效?

标签: ajax get


【解决方案1】:

嘿,您的请求中有一些错误的设置

使用

$.ajax(
    {
        url:  "localhost/get.php",
        type: "get",
        data: {
            a:  "one",
            b:  "two",
            c:  "three"
        },
        success:    func_suc,
        error:      func_err
);

【讨论】:

  • 我认为这不会有什么不同。但是我试过了,还是不行。
  • 可以试试其他浏览器吗?并尝试使用 Firebug 进行调试
猜你喜欢
  • 2020-08-25
  • 1970-01-01
  • 1970-01-01
  • 2013-09-18
  • 1970-01-01
  • 1970-01-01
  • 2017-07-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多