Jquery Ajax: динамическая функция - PullRequest
0 голосов
/ 04 мая 2010

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

На данный момент мой код такой

$('#ajaxButton').click(function(){
    var form = $(this).parent().find(':input');
    var formVal = form.val();
    var objectName = form.attr('id');

    submitAjaxForm(formVal,objectName);

});    

function submitAjaxForm(formVal,objectName){
     data = {
             objectName : formVal
            }
     // Ajax Call
     $.post('handlers/' & objectName & '.cfc?method=save',data,function(){
           }
     });

По сути, я пытаюсь передать значение полей формы функции, которая его обработает, а затем динамически установить ключ данных и обработчик.

Теперь я могу динамически устанавливать обработчик, используя objectName vaidable ... но когда я пытаюсь использовать эту переменную для установки ключа данных, ему это не нравится ..

Надеюсь, это имеет смысл ..

Есть идеи?

Спасибо

Ответы [ 3 ]

1 голос
/ 04 мая 2010

Попробуйте использовать + вместо & при попытке вставить свое objectName в строку URL.

$.post('handlers/' + objectName + '.cfc?method=save',data,function(){});

Также попробуйте сделать это, чтобы установить значение данных:

var data = {};
data[objectName] = formVal;
0 голосов
/ 25 апреля 2013

Вы можете попробовать:

function submitAjaxForm(cssFormSelector,objectName){
    var data = $(formSelector).serialize();
    $.post('handlers/' & objectName & '.cfc?method=save',data);
}

submitAjaxForm('#myForm',objectName);
0 голосов
/ 04 мая 2010

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

$('#ajaxButton').click(function(){
var form = $(this).parent().find(':input');
var formVal = form.val();
var objectName = form.attr('id');

submitAjaxForm(formVal,objectName);

});    

function submitAjaxForm(formVal,objectName){
  // Ajax Call
  $.post('handlers/' + objectName +'.cfc?method=save' + objectName + '=' + formval ,function(){
       }
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...