Как динамически построить раздел «data» метода $ .ajax в jQuery - PullRequest
0 голосов
/ 02 февраля 2009

Я пытаюсь создать многоразовый метод $ .ajax для моего текущего приложения, но я изо всех сил пытаюсь найти надежную информацию о том, как динамически построить раздел data: ...

В настоящее время я смотрю на что-то похожее на функцию ниже, но я не уверен, как реализовать этот w / jQuery 1.3.x (или если этот тип вещей был перенесен в ядро?)

var extraParams = {
        timestamp: +new Date()
    };

    $.each(options.extraParams, function(key, param)
    {
        extraParams[key] = typeof param == "function" ? param() : param;
    });

Ответы [ 2 ]

2 голосов
/ 02 февраля 2009

Я использую этот метод в качестве оболочки, чтобы я мог отправлять параметры. Кроме того, использование переменных в верхней части метода позволяет минимизировать его при более высоком соотношении и позволяет повторно использовать некоторый код при выполнении нескольких похожих вызовов.

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 голос
/ 15 июля 2009

Эта часть вашего вопроса:

typeof param == "function" ? param() : param;

Должен быть записан в текущем синтаксисе jQuery как

$.isFunction(param) ? param() : param;

Надеюсь, это поможет вам построить то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...