Hello People这里是我的代码......
$.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 :)');
}
});
});
});
};
在Ajax数据字段data: ({mydata:$('#'+this.id).val()}),
中,它正在通过“mydata”#39;作为变量而非options.my_data
我也尝试了
数据:({options.my_data:$('#' + this.id).val()}),{ {1}} http://my_domain.com/serverpage?mydata=friend but got some error so had to stored in variable but not working...it is passing an url something like this
http://my_domain.com/serverpage?name=friend But iam expecting
{名称{1}} options.my_data;我已经尝试了where
并检查了此问题enter link description here
但没解决我的问题...
答案 0 :(得分:1)
你必须单独构建数据数组,因为它不是你可以用数组文字做的事情:
var to_send = {};
to_send[options.my_data] = $(this).val();
...
$.ajax({
...
data: to_send
...
});
答案 1 :(得分:0)
我不知道我是否收到你的问题,但似乎你想把你的'mydata'变量中的字符串搞定,是吗?
例如,如果mydata是一个字符串“smallball”,那么您希望:
data: ({
smallball: $('#' + this.id).val()
}),
编辑,正确答案:
var dataAux = {};
dataAux[mydata] = $('#' + this.id).val();
在jQuery中:
data: dataAux;
的jsfiddle: http://jsfiddle.net/KusmV/