0
 case 'ajax':
                busy = false;

                $.fancybox.showActivity();

                selectedOpts.ajax.win = selectedOpts.ajax.success;

                ajaxLoader = $.ajax($.extend({}, selectedOpts.ajax, {
                    url : href,
                    data : selectedOpts.ajax.data || {},
                    error : function(XMLHttpRequest, textStatus, errorThrown) {
                        if ( XMLHttpRequest.status > 0 ) {
                            _error();
                        }
                    },
                    success : function(data, textStatus, XMLHttpRequest) {
                        var o = typeof XMLHttpRequest == 'object' ? XMLHttpRequest : ajaxLoader;
                        if (o.status == 200) {
                            if ( typeof selectedOpts.ajax.win == 'function' ) {
                                ret = selectedOpts.ajax.win(href, data, textStatus, XMLHttpRequest);

                                if (ret === false) {
                                    loading.hide();
                                    return;
                                } else if (typeof ret == 'string' || typeof ret == 'object') {
                                    data = ret;
                                }
                            }

                            tmp.html( data );
                            _process_inline();
                        }
                    }
                }));

            break;

我不明白为什么

 selectedOpts.ajax.win = selectedOpts.ajax.success; 

已经这样初始化成功在哪里初始化了?在哪里

         selectedOpts.ajax.data 

已经初始化了吗?

此语句中呼叫转移的位置

          ret = selectedOpts.ajax.win(href, data, textStatus, XMLHttpRequest);

方法体在哪里?

4

1 回答 1

0

我猜你不知道 jquery ajax。

selectedOpts.ajax.win(href, data, textStatus, XMLHttpRequest); 基本上是jquery ajax 成功函数。您必须覆盖成功函数,这些变量由 jquery ajax 传递。

使用 jquery 扩展设置数据。你必须传递你的ajax变量。

更新(将注释代码移动到答案中)

$("#Link").fancybox({ 
 ajax : { 
  type : "POST", 
  data : 'mydata=test', 
  success : function(data, textStatus, jqXHR){
   // do something on success
  } 
 } 
});
于 2012-09-24T13:57:04.580 回答