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

私はあなたがjqueryajaxに気づいていないと思います。

selectedOpts.ajax.win(href、data、textStatus、XMLHttpRequest); 基本的にはjqueryajax成功関数です。成功関数をオーバーライドする必要があり、これらの変数はjqueryajaxによって渡されます。

データはjqueryextendを使用して設定されます。ajax変数を渡す必要があります。

UPDATE(コメントされたコードを回答に移動)

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