`
足至迹留
  • 浏览: 485454 次
  • 性别: Icon_minigender_1
  • 来自: OnePiece
社区版块
存档分类
最新评论

<ajax> 给$.post()的回调方法传递多个参数

 
阅读更多
1.问题描述
想给$.post()的回调方法传递多个参数,如果把回调函数放在post方法之外定义,始终传递不过去,如:
//接收短信
function getLatestReceivedSms()
{
    $.get("/smsplatform/smsplatform/S_SmsManager_queryLatestReceivedSms.action", {senderId:smsSenderId}, receiveSmsCallback);
}

// 回调方法
function receiveSmsCallback(data)
{
    var result = $.parseJSON(data);
    ...
}

可以看到这种方法,默认不需要传递参数,data就是post方法调用由服务器返回的json数据。
按照这样的思路,自定义参数传递写成:
//接收短信
function getLatestReceivedSms()
{
    var myParam = 'aa';

    // error: data未定义
    $.get("/smsplatform/smsplatform/S_SmsManager_queryLatestReceivedSms.action", {senderId:smsSenderId}, receiveSmsCallback(data, myParam));
}

// 回调方法
function receiveSmsCallback(data, myParam)
{
    var result = $.parseJSON(data);
    ...
}

这样就会在post调用回调的地方报错,data没有定义。如果把data删掉只留myParam,则传参只会把第一个参数data当做是myParam。

2. 半解决办法
最后没办法,只得在post的调用里面直接定义回调方法,写成:
function getLatestReceivedSms()
{
    var myParam = 'aa';

    // error: data未定义
    $.get("/smsplatform/smsplatform/S_SmsManager_queryLatestReceivedSms.action", {senderId:smsSenderId}, function receiveSmsCallback(data)
    {
        var result = $.parseJSON(data);
        alert(myParam);
        ...
    });
}

利用参数的可见性,直接在回调方法里使用myParam即可。还是没有通过传参。
在这里定义的时候可以多几个参数,比如function( data, textStatus, jqXHR ),data就是后台传来的结果,textStatus代表post调用的结果是"success"还是"fail"
可以参考:
http://www.365mini.com/page/jquery_ajax.htm
http://love398146779.iteye.com/blog/1177332
分享到:
评论

相关推荐

    详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()

    详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()

    asp+ajax(jQuery)实例($.ajax()、$.post()、$.get()、$.getJSON()四种模式可选)

    asp+ajax(jQuery)实例($.ajax()、$.post()、$.get()、$.getJSON()四种模式可选 Ajax是目前比较流行的网站建设技术,尤其作为网站建设者来说,掌握它十分有必要,如果用原生Javascript开发则比较困难,还好有强大的...

    Prototype学习笔记(最新整理)

    options 参数对象 16&lt;br&gt;4.16. Ajax.Updater 类 17&lt;br&gt;4.17. Ajax.PeriodicalUpdater 类 18&lt;br&gt;4.18. Element 对象 19&lt;br&gt;4.19. Abstract 对象 20&lt;br&gt;4.20. Abstract.Insertion 类 20&lt;br&gt;4.21. Insertion 对象 21...

    jquery中AJAX请求 $.post方法的使用

    使用jQuery的$.post方法可以以POST形式向服务器发起AJAX请求.本篇文章主要给大家讲解jquery中AJAX请求 $.post方法的使用,需要的朋友可以参考下

    Ajax for asp.net

    标记函数,让客户端可以调用服务器端的方法,将标记放在函数前&lt;br&gt; [Ajax.AjaxMethod()]&lt;br&gt; public int ServerMethod(para..){&lt;br&gt; ......&lt;br&gt; }&lt;br&gt;5.客户端使用JS调用&lt;br&gt; var response=本页类名.ServerMethod...

    Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    说明:url为请求地址,data为请求数据的列表,callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数。 而其中,服务器返回数据的格式其实是字符串...

    $.ajax json数据传递方法.docx

    $.ajax json数据传递方法.docx

    解决JQurey跨域问题$.get|$.post|$.getJSON等等统统可跨域

    解决JQurey跨域问题$.get|$.post|$.getJSON等等统统可跨域

    jQuery Ajax之$.get()方法和$.post()方法

    注意:$.get()和$.post()方法是jQuery中的全局函数。前面讲到的load()方式是对jQuery对象进行操作的。 1、 $.get()方法  $.get()方法使用GET方式来进行异步请求。  它的语法结构为:  $.get( url [, data] [, ...

    JQ中$.ajax()方法详解

    JQ中$.ajax()方法详解,自己整理的哦

    AJAX 源码范例

    08/8.2.9.html 使用abort方法取消一个请求范例&lt;br&gt; 08/8.3.2.html 使用post方法向服务器提交数据范例&lt;br&gt; 08/8.3.3.html 实现服务器相关的二级联动菜单范例&lt;br&gt; 08/a.html 用于ajax获取文件的示例&lt;br&gt; 08/...

    详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())

    主要介绍了详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

    jquery-1.1.3 效率提高800%

    &lt;br&gt;$.ajax()函数需要一个参数,一个包含有键/值对的对象,用于初始化并操作请求对象。 &lt;br&gt;在jQuery 1.2版本中,如果你指明了一个JSONP回调函数,你就可以从其它的域中载入JSON类型的数据,写法类似于 "myurl?...

    jquery 异步调用$.ajax() $.post() $.get()

    NULL 博文链接:https://andy2019.iteye.com/blog/1515064

    Beginning ASP.NET 2.0 AJAX.pdf

    目录&lt;br&gt;Introduction. . . . . . . . . . . . . . . . . . xxi&lt;br&gt;Chapter 1: Introduction to ASP.NET AJAX. . . . . 1&lt;br&gt;Chapter 2: Creating an ASP.NET AJAX Application. .11&lt;br&gt;Chapter 3: ASP.NET AJAX ...

    $.ajax()方法详解

    $.ajax()方法详解,$.ajax()方法详解

    jQuery Ajax 实例代码 ($.ajax、$.post、$.get)

    $.post、$.get是一些简单的方法,如果要处理复杂的逻辑,还是需要用到jQuery.ajax() 一、$.ajax的一般格式 $.ajax({ type: 'POST', url: url , data: data , success: success , dataType: dataType }); 二、...

    $.ajax()方法参数详解

    会灵活的运用ajax的方法,非常重要,本文先给大家介绍ajax的几种方法,然后通过实例给大家分析详解,具体内容请看下文吧 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。 2.type: 要求为...

    jquery $.ajax()的所有参数

    ajax的操作说明详解文档,jquery $.ajax()的所有参数

    蓝梦分页控件 1.0.7.420

    注意:★★★控件请到论坛下载,此处附件只有说明&lt;br/&gt;&lt;br/&gt;蓝梦的分页控件 Ver 1.0.7.420&lt;br/&gt;&lt;br/&gt;...&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;蓝梦联系方式:&lt;br/&gt;&lt;br/&gt;QQ:81513697&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;发布日期:2007-4-20&lt;br/&gt;

Global site tag (gtag.js) - Google Analytics