尝试将参数传递给jquery ajax调用

时间:2013-07-28 04:37:08

标签: javascript jquery ajax function parameters

所以我有我原来的ajax调用,它运行正常。

$.ajax({

            type: "GET",
            url: "index.php / blog / getbio",
            data: { first_name: first_name, last_name: last_name button_type:button_type },
            success: function (msg) {
                $(button).text(msg);
                button.slideDown("slow");
            }

        });

我正在尝试创建一个函数,这样我就不必每次都重新键入它,而我想要修改的是ajax调用的数据和url字段。虽然我不知道如何更换ajax调用之外的数据字段。我已经到了

var params = "first_name: first_name, last_name: last_name";
var url = "index.php / blog / getbio";
function ajax(url, params) {
        $.ajax({

            type: "GET",
            url: url,
            data: { params },
            success: function (msg) {
                $(button).text(msg);
                button.slideDown("slow");
            }

        });
        button.hide();
    }

虽然我知道这不起作用。所以我的问题是在ajax函数之外我怎样才能正确地创建变量params以便很好地插入到ajax函数中。

2 个答案:

答案 0 :(得分:1)

您可以设置json格式的数据,以便更轻松地将其放入字符串中:

var params = '{"first_name": "first_name", "last_name": "last_name"}';
var url = "index.php/blog/getbio";
$.ajax({
url: url,
data: params, 
dataType:'json', 
success: function (msg) {
            $(button).text(msg);
            button.slideDown("slow");
        }
 });

答案 1 :(得分:0)

function CreateFullName(f_name, l_name) {
    params = {
        "first_name": f_name, 
        "last_name": l_name
    };  
    return params;
}

function ajax(url, first_name, last_name) {
        $.ajax({
            type: "GET",
            url: url,
            data: CreateFullName(first_name, last_name),
            success: function (msg) {
                $(button).text(msg);
                button.slideDown("slow");
            }

        });
        button.hide();
    }

这里函数没有绑定任何硬编码值,通常使用url和名称值传递。