2016-01-24 5 views
0

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

var title; 
var price; 
var container; 
$('a.btn').click(function() { 
    container = $(this).closest('.item'); 
    title = container.find('.item-dtls > h4 > a').text(); 
    price = container.find('.price').text(); 
}); 

$('a.btn').click(function() { 
    $.ajax({ 
     url: '@(Url.Action("Item", "Home"))', 
     type:'POST', 
     datatype:text, 
     data:{title,price}, 
     success: function (data) { 
      alert('success'); 
     }, 
     error: function (data) { 
      alert('error'); 
     } 
    }); 
}); 

Это мой контроллер

[HttpPost] 
public ActionResult Item(string title,string price) { 
    Response.Write(title); 
} 
+0

Привет, в чем ваш вопрос или ваша ошибка? Чтобы отправить сообщение другому контроллеру; создать контроллер и действие. Используйте те, которые содержатся в инструкции '@ Url.'. – Stefan

+0

Я хочу получить название и цену объекта, который нажал и отправить название и цену другому контроллеру –

ответ

2

Отправить данные в виде пар имя-значение , Также вам не нужны два отдельных обработчика событий кликов.

Кроме того, значение свойства datatype должно быть строкой. поэтому оберните это в одиночные/двойные кавычки.

$('a.btn').click(function() { 
    var container = $(this).closest('.item'); 

    var titleVal = container.find('.item-dtls > h4 > a').text(); 
    var priceVal = container.find('.price').text(); 

    alert(titleVal); 
    alert(priceVal); 
    $.ajax({ 
     url: '@Url.Action("Item", "Home")', 
     type:'POST', 
     datatype:'text', 
     data: { title : titleVal , price : priceVal }, 
     success: function (data) { 
      alert('success'); 
      alert(data); 
     }, 
     error: function (data) { 
      alert('error'); } 
     }); 
    }); 

}); 

Кроме того, Вы не можете использовать Response.Write, чтобы вернуть что-то из вашего метода действия. Вы можете использовать метод Content для возврата строки.

[HttpPost] 
public ActionResult Item(string title, string price) 
{   
    return Content(title); 
} 
+0

Я пробовал это, но не работал –

+0

Вы получаете ошибки скрипта? Вы уверены, что сможете читать значения из DOM для переменных 'titleVal' и' priceVal'? – Shyju

+0

да я получаю titleVal и PriceVal –

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