2014-03-28 28 views
1

你好的人這裏是我下面的代碼...jQuery的Ajax的問題​​,而不是採取期權價值

$.fn.myajax = function (options) { 

    var defaults = { 
     my_event: "", 
     my_url: "", 
     my_data: "", 
    } 
    var o = {}; 
    var mydata = options.my_data; 
    $.extend(o, defaults, options); 

    return this.each(function() { 
     $(this).bind(options.my_event, function (event) { 

      $.ajax({ 
       url: options.my_url, 
       global: false, 
       type: "GET", 
       data: ({ 
        mydata: $('#' + this.id).val() 
       }), 
       cache: false, 
       success: function (html) { 
        console.log('Done Baby :)'); 
       } 
      }); 
     }); 
    }); 
}; 

在阿賈克斯數據字段data: ({mydata:$('#'+this.id).val()}),它是通過「MYDATA」爲得到變量未options.my_data我也試過, 數據:({options.my_data:$('#'+ this.id).val()}),but got some error so had to stored in variable but not working...it is passing an url something like thishttp://my_domain.com/serverpage?mydata=friendBut iam expectinghttp://my_domain.com/serverpage?name=friendwhere name is in options.my_data;我已經嘗試data: {'mydata':$('#' + this.id).val()},也檢查了這個問題enter link description here

但並沒有解決我的問題......

+1

你可以做'mydata:this.value'吧? – elclanrs

+0

不,如果我檢查控制檯。它傳遞'mydata'在Url而不是'Value in mydata' ...讓我解釋更多的問題..等待... – Friend

回答

1

你必須單獨建立數據陣列,因爲它不是東西,你可以用數組文本做:

var to_send = {}; 
to_send[options.my_data] = $(this).val(); 

... 
$.ajax({ 
    ... 
    data: to_send 
    ... 
}); 
+0

它傳遞http:// localhost/serverpage?opt​​ions.my_data = url中的朋友.. – Friend

+0

@朋友好吧,想我現在得到了你的問題:) –

+0

它使更多的感覺:)你搖滾巴迪..它的工作現在罰款:)...非常感謝... – Friend

0

我不知道我是否得到了你的問題,但似乎你想在你的'mydata'變量中得到字符串,是嗎?

例如,如果MYDATA是一個字符串 「smallball」,你想有:

data: ({ 
     smallball: $('#' + this.id).val() 
}), 

編輯,正確答案:

var dataAux = {}; 
dataAux[mydata] = $('#' + this.id).val(); 

您的jQuery內部:

data: dataAux; 

JSFiddle: http://jsfiddle.net/KusmV/

+0

使用'eval'後我看到這個錯誤在控制檯..'未捕獲的SyntaxError:意外的標記(' – Friend

+0

我編輯了我的答案=) – Buzinas

+0

感謝您的努力.. + ve Rep添加:) – Friend