0

所以我有我原来的 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 函数中。

4

2 回答 2

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");
        }
 });
于 2013-07-28T04:52:40.653 回答
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 和 name 值。

于 2013-07-28T04:54:28.870 回答