我正在尝试为我当前的应用程序构建可重用的$ .ajax方法,但我很难找到有关如何动态构建数据:部分的可靠信息...
目前我正在寻找类似于下面这个功能的东西,但我不确定如何实现这个w / jQuery 1.3.x(或者这种类型的东西是否被移入核心?)
var extraParams = {
timestamp: +new Date()
};
$.each(options.extraParams, function(key, param)
{
extraParams[key] = typeof param == "function" ? param() : param;
});
答案 0 :(得分:2)
我使用此方法作为包装器,以便我可以发送参数。此外,使用方法顶部的变量可以使其以更高的比率进行最小化,并允许在进行多次类似调用时重用一些代码。
function InfoByDate(sDate, eDate){
var divToBeWorkedOn = '#AjaxPlaceHolder';
var webMethod = 'http://MyWebService/Web.asmx/GetInfoByDates'
var parameters = "{'sDate':'" + sDate + "','eDate':'" + eDate + "'}"
$.ajax({
type: "POST",
url: webMethod,
data: parameters,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$(divToBeWorkedOn).html(msg.d);
},
error: function(e){
$(divToBeWorkedOn).html("Unavailable");
}
});
答案 1 :(得分:1)
这部分问题:
typeof param == "function" ? param() : param;
应该用当前的jQuery语法编写为
$.isFunction(param) ? param() : param;
我希望这有助于你建立自己想要的东西。