Не забывайте точки с запятой.Они могут быть важны.И dataType
в запросе ajax
относится к данным, возвращаемым из запроса, а не к данным, отправляемым запросом.
Начните с изменения вашего ajax:
$('form').submit(function(e) {
e.preventDefault();
var title = $('#title:input').val();
alert(title);
var urlsStr = $("#links").val();
var urls = urlsStr.match(/\bhttps?:\/\/[^\s]+/gi);
var formData = {
title: title,
urls: urls
};
$.ajax({
type: 'GET',
cache: false,
data: formData,
url: 'publishlinks/publish',
success:
function(response) {
alert('winrar');
}
});
});
Ваши данные будут прикреплены в виде строки запроса, которую ваш контроллер может затем забрать.Из документации :
Параметр данных может содержать либо строку запроса вида key1 = value1 & key2 = value2, либо карту вида {key1: 'value1',ключ2: «значение2»}.Если используется последняя форма, данные перед отправкой преобразуются в строку запроса с помощью jQuery.param ().
Измените контроллер так, чтобы он принимал строку запроса vars.
Вот скрипка: http://jsfiddle.net/jensbits/2F4kN/