Jquery Ajax问题,没有选择值

时间:2014-03-28 02:14:10

标签: javascript php jquery html ajax

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

但没解决我的问题...

2 个答案:

答案 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/