2014-10-07 4 views
-1

Ive попробовал пару готовых способов, пытаясь получить мое значение в моем ajax, но каждый раз, когда я получаю js-ошибку. Надеюсь, один из вас может помочь.AJAX: передать значение ajax-методу

У меня есть следующий JQuery Ajax:

$("#usertasklist").click(function() { 
    $('#basicModal4').modal('hide'); 
    $.ajax({ 
     type: "GET", 
     url: "/Home/GetAjaxUserTasksExecuted", 
     data: { filterdate: variable1 }, 
     datatype: "html", 
     success: function (data) { 
      console.log("Succes!"); 
      var $titleDiv = $('#Modal5Label'); 
      $titleDiv.replaceWith("<h3><b>User Tasks Executed</b></h3>"); 
      var $detailDiv = $('#superdatadivthing3'); 
      $detailDiv.replaceWith(data); 
     }, 
     error: function() { 
      console.log("Error!"); 
     }, 
     complete: function() { 

      $('#basicModal5').modal('show'); 
      console.log("Complete!"); 
     } 
    }); 
}); 

И в viewbag в моем контроллере

Session["Usercode"]; 

Как я могу передать значение из моей точки зрения мешка, чтобы заменить «Variable1» в разделе данных моего вызова ajax?

+0

Игнорируйте любые ответы, предполагающие Вы вводите его динамически в сценарий. У этого есть всевозможные проблемы. Вместо этого вставьте его (например, как атрибут «фильтр данных» в теле) на страницу и выберите это с помощью '$ ('body'). Data ('filter');' Если вы должны вводить скрипт, используйте простой автономный глобальный var. –

+0

Почему вам нужно получить от ajax что-то, что уже есть в сеансе? Что делать, если я изменяю значение переменной1 с другим кодом пользователя в запросе ajax? –

+0

Вы можете использовать скрытый контроль и получить значение оттуда – Tushar

ответ

0

Как получить данные из контейнера?

HTML-пример

<table id="YOURDIVHERE"> 
    <tr> 
     <td> 
     <span>data which i will use</span> 
     </td> 
    </tr> 
</table> 

Ваш Ajax-вызов

$("#usertasklist").click(function() { 
    $('#basicModal4').modal('hide'); 
    var data = innerXHTML($('#YOURDIVHERE').attr('id')); 
     $.ajax({ 
     type: "GET", 
     url: "/Home/GetAjaxUserTasksExecuted", 
     data: { filterdate: data }, 
     datatype: "html", 
     success: function (data) { 
      console.log("Succes!"); 
      var $titleDiv = $('#Modal5Label'); 
      $titleDiv.replaceWith("<h3><b>User Tasks Executed</b></h3>"); 
      var $detailDiv = $('#superdatadivthing3'); 
      $detailDiv.replaceWith(data); 
     }, 
     error: function() { 
      console.log("Error!"); 
     }, 
     complete: function() { 

      $('#basicModal5').modal('show'); 
      console.log("Complete!"); 
     } 
    }); 
}); 
+0

Не могли бы вы привести пример того, как будет выглядеть div? Изменить: я создал код, как вы предлагали, но не распознает innerXHTML. – Baggerz

+0

Это может быть любой HTML внутри div. В «моем» div была таблица, которую я включил в качестве данных при отправке данных для отправки по электронной почте. Я просто разобрал сервер tabledata, чтобы получить почтовый контент. –

Смежные вопросы