`
lucky_god
  • 浏览: 37544 次
社区版块
存档分类
最新评论

Jquery的ajax始终进不了任何回调方法--原因发现

    博客分类:
  • html
阅读更多

场景:

使用某个日历控件的dialog(弹出框)来修改信息,点击确认后用jquery的ajax方法调用后台修改,在success方法用返回回来的状态码判断是否修改成功。

代码:

function update(id){
      .....
      updateCalendar(params);
      $(this).dialog('close');
      location.reload();
}
function updateCalendar(params){
$.ajax({
	type: 'POST',
	url: '${ctx}/calendar/calendarManageUpdate.action',
	data:'id='+params.id,
	dataType: 'json',
	success: function(data){
		 if(data.content != "success"){
			alert("您已经有了此日程!");
			return;
		}else{
			alert("修改成功");
		}
	}
});
}

结果:始终进不了success方法,我试过添加complete方法,也没有进去。搜索过类似问题,有说返回的数据必须是json格式字符串(如果指定了数据格式dataType: 'json'),未果。

解决:ajax方法是在弹出框中定义的,但是ajax方法后调用了弹出框的关闭方法,使处理完后找不到dialog中的success方法,故将dialog的的关闭方法在success中调用:

function update(id){
      .....
      updateCalendar(params);
      
}
function updateCalendar(params){
$.ajax({
	type: 'POST',
	url: '${ctx}/calendar/calendarManageUpdate.action',
	data:'id='+params.id,
	dataType: 'json',
	success: function(data){
		 if(data.content != "success"){
			alert("您已经有了此日程!");
			return;
		}else{
			alert("修改成功");
			$(this).dialog('close');
			location.reload();
		}
	}
});
}

总结:ajax的回调方法需要在父类页面存在的情况下才能够调用, 虽然我对ajax添加了同步执行(async=true)参数,也未阻止窗口的关闭。

 

 

分享到:
评论

相关推荐

    jQuery-ajax-用户名异步请求

    在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理以及Ajax交互。本主题聚焦于jQuery中的Ajax功能,特别是如何利用它进行异步用户名验证。Ajax,即Asynchronous JavaScript and ...

    jquery AJAX 回调函数取JSON成功代码

    以下是一个简单的jQuery AJAX回调函数获取JSON数据的示例代码: ```javascript $.ajax({ url: 'your_data_endpoint.json', // 这应替换为实际的JSON数据源URL type: 'GET', dataType: 'json', success: ...

    jquery的ajax方法

    总的来说,jQuery的Ajax方法是前端开发中不可或缺的一部分,它使得与服务器的交互更加灵活和高效。通过深入理解这些方法及其参数,开发者能够更好地实现前后端数据的动态交互,提高用户体验。在JQ_ajax.html文件中,...

    asp.net 利用jquery-ajax调用后台方法

    下面将详细介绍如何利用jQuery-AJAX调用ASP.NET后台方法。 1. **创建WebMethod** 在ASP.NET的C#或VB.NET代码中,我们可以创建一个静态的WebMethod,标记为 `[WebMethod]` 或 `[ScriptMethod]`,以便可以从...

    jquery ajax源代码

    在提供的代码片段中,可以看到两个函数:`doload1` 和 `doload2`,它们都使用了 jQuery 的 AJAX 方法来发送请求并处理返回的数据。 ##### 2.1 doload1 函数 ```javascript function doload1() { $.ajax({ url: ...

    Jquery Ajax分页(有实例)

    - **处理服务器响应**:成功回调函数中,将返回的数据插入到页面的指定位置,完成内容的更新。 - **更新分页状态**:根据返回的总页数,调整分页按钮的状态,如禁用“上一页”/“下一页”按钮,或显示/隐藏页码。 ...

    传智播客 jQuery ajax 课件

    - `$.get()`: 用于发起GET请求,简化了`$.ajax()`的使用,只需提供URL和回调函数即可。 - `$.post()`: 与`$.get()`类似,但用于发起POST请求。 2. **AJAX请求的生命周期** - **初始化**: 创建`$.ajax()`调用,...

    asp+jquery ajax实例源码,添加,删除,修改,分页

    - jQuery的AJAX方法允许设置error回调函数来处理请求失败的情况,如网络问题或服务器错误。 - 通过$.ajaxComplete()可以监听所有AJAX请求的完成,无论成功还是失败。 综上所述,这个"asp+jquery ajax实例源码...

    Jquery ajax json 总结

    更通用的 AJAX 方法是 `$.ajax()`, 允许自定义更多的选项,如请求类型、URL、数据、成功的回调函数以及预期的数据类型。在 `$.ajax()` 示例中,`success` 回调函数在请求成功时执行,`dataType` 指定了期望的响应...

    Jquery Ajax简易计算器

    2. **创建AJAX请求**:jQuery的`.ajax()`方法用于创建AJAX请求。在这个例子中,我们可能使用类似`$.ajax({ url: 'Handler.ashx', type: 'POST' })`的代码,其中`url`指定服务器端的处理程序,`type`指明请求类型...

    jQuery ajax - load() 方法

    `jQuery` 的 `ajax` 方法是前端开发中用于异步数据交互的核心工具,它使得开发者无需刷新页面就能与服务器进行通信。在 `jQuery` 的 `ajax` 家族中,`load()` 方法是一个非常实用的成员,主要用于从服务器加载HTML...

    使用jQuery ajax提交表单代码

    本文将深入探讨如何使用jQuery的ajax方法来提交表单,从而实现异步数据交换,提高用户体验。 首先,jQuery的$.ajax()函数是进行Ajax请求的核心,它允许我们与服务器进行异步数据通信。在“使用jQuery ajax提交表单...

    Jquery ajax方式读取txt文件、Jquery分页.

    在给定的标题和描述中,主要涉及两个关键知识点:使用jQuery的AJAX方法读取TXT文件和实现jQuery分页功能。接下来,我们将深入探讨这两个主题。 首先,我们来讨论如何使用jQuery的AJAX方法读取TXT文件。AJAX(异步...

    jquery-ajax实例

    jQuery提供了内置的解析功能,可以在`success`回调函数中直接处理这些数据。例如,假设返回的JSON对象如下: ```json { "name": "John", "age": 30, "city": "New York" } ``` 在`success`函数中,我们可以这样...

    JqueryAjax简单实例

    `success`回调函数会在请求成功且返回数据有效时被调用,`error`回调函数则在请求出错时执行。 在服务器端,假设我们在`getData.aspx.cs`中,我们需要处理这个POST请求并返回JSON数据: ```csharp using System; ...

    jQuery Ajax过滤器

    在`AjaxForm`的配置对象中,我们可以设置`beforeSubmit`、`beforeSerialize`等回调函数,对表单数据进行预处理,这正是我们添加过滤器的时机。例如,我们可以在此处进行乱码预防措施: ```javascript $("#myForm")....

    JQueryAjax的简介

    jQuery 提供了多种方法来处理 Ajax 通信,其中主要包括 $.ajax()、.load()、$.get() 和 $.post() 方法。 - **$.ajax()**:这是 jQuery 中最底层也是最灵活的 Ajax 封装方法。它可以处理各种类型的 Ajax 请求,并...

    Jquery跨域Ajax请求测试

    JSONP(JSON with Padding)是一种规避同源策略的方法,它通过动态创建 `<script>` 标签来加载服务端返回的JavaScript代码,该代码会调用一个预先定义好的回调函数并传递数据。 以下是一个简单的jQuery跨域Ajax请求...

    html静态页JQuery ajax示例demo 源码

    `$.ajax()`是jQuery提供的核心AJAX函数,它允许我们配置各种选项来定制请求,如URL、请求类型(GET或POST)、数据类型(JSON、XML、HTML等)以及请求成功或失败的回调函数。 在C# ASP.NET环境下,我们可以创建一个...

    jquery中ajax常用的方法,jQuery ajax框架常用方法总结.docx

    jQuery 中 AJAX 常用的方法总结 jQuery 是一个功能强大且流行的 JavaScript 库,它提供了许多有用的方法来处理 AJAX 请求。AJAX(Asynchronous JavaScript and XML)是一种创建交互式网页的技术,它允许网页从...

Global site tag (gtag.js) - Google Analytics