0

我对 jQuery 和 Web 开发非常陌生。我宁愿不使用 Javascript 和 PHP(我不喜欢像它们那样设计的语言),但我需要在 jQuery 中做一些事情。这是我的代码:

$.ajax({
    url:some_url,
    dataType:"json",
    data:some_data_in_json,
    success : function(response){
    },
    error : function(xhr){
    } ,
});

我想在得到响应之前显示一些东西,所以我在发送之前添加了这段代码(我在文档中找到了):

$.ajax({
   url:some_url,
   dataType:"json",
   data:some_data_in_json,
   beforeSend: function() {
      console.log('before executed');
       alert('do sth');
   },
   success : function(response){
   },
   error : function(xhr){
    } ,
});

但它什么也没做。我如何在 jQuery 中知道我是否更改了某些内容,是否已更改?我尝试使用 Firebug。编辑顺便说一句,我有 jquery 1.3.2 也许这会告诉你更多,因为我对 web devolpment 的了解是 0

编辑 some_url, some_data_in_json 不是变量。我只写了例子。

4

1 回答 1

2

你的变量定义了吗?我怀疑该行dataType:json,应该读取dataType:'json',- 一个字符串而不是变量名。


beforeSend“一个预请求回调函数,可用于在发送之前修改 jqXHR(在 jQuery 1.4.x 中,XMLHTTPRequest)对象。” 虽然它应该与上述修复一起使用,但它并不是真的打算做你想做的事情。

由于alert是同步事件,您可以将其放在 AJAX 调用之前,并且 AJAX 不会发生,直到警报被解除:

console.log('before executed');
alert('do sth');
$.ajax({
   url:some_url,
   dataType:json,
   data:some_data_in_json,
   success : function(response){
   },
   error : function(xhr){
    } ,
});
于 2013-10-04T13:23:01.327 回答