Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.09.2016, 12:24
Аспирант
Отправить личное сообщение для Sokoljr Посмотреть профиль Найти все сообщения от Sokoljr
 
Регистрация: 27.06.2016
Сообщений: 68

Не получается переделать AJAX запрос с js на jQuery
есть функция, при нажатии на кнопку, отправляются комментарии на сервер, на чистом JavaScript работает, на jQuery не работает...

JS
function SubmitReviewForItem() {
    var submitReview = document.querySelector(".btnReview");
    submitReview.addEventListener("click", function () {
        var review = document.querySelector("#content").value;
        var star = document.getElementsByName('star');
        for (var i = 0; i < star.length; i++) {
            if (star[i].type == "radio" && star[i].checked) {
                var rate = star[i].value
            }

        }
        var reviews1 = "rate=" + rate + "&text=" + review;
        if (document.querySelector(".Item1").innerHTML === "product1") {
            var xhrPostReviewProd1 = new XMLHttpRequest();
            xhrPostReviewProd1.open('POST', 'http://smktesting.herokuapp.com/api/reviews/1', true);
            xhrPostReviewProd1.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
            xhrPostReviewProd1.setRequestHeader('Accept', "application/json");
            xhrPostReviewProd1.setRequestHeader('Authorization', 'Token ' + jsonProductLogin.token);
            xhrPostReviewProd1.onreadystatechange = function () {
                if (this.readyState === 4) {
                    xhrPostReviewProd1.onload = function () {
                        document.querySelector("#content").value = "";
                    }
                }
            };
            xhrPostReviewProd1.send(reviews1);
        } 
    })
}




jQuery

по поводу нахождения селекторов пока роли не играет, просто не менял еще на jQuery

function SubmitReviewForItem() {
	var submitReview = document.querySelector(".btnReview");
    submitReview.addEventListener("click", function () {
        var review = document.querySelector("#content").value;
        var star = document.getElementsByName('star');
        for (var i = 0; i < star.length; i++) {
            if (star[i].type == "radio" && star[i].checked) {
                var rate = star[i].value
            }
		}
		var reviews1 = {
	        "rate=": rate,
            "text=": review
	    };
		jsonStr = JSON.stringify(reviews1);
        if (document.querySelector(".Item1").innerHTML === "product1") {
        	$.ajax ({
	            beforeSend: function(xhr) {
	            	xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
					xhr.setRequestHeader('Accept', 'application/json');
				    xhr.setRequestHeader('Authorization', 'Token ' + jsonProductLogin.token);
				},
				type: "POST",
	            url: urlMain + "api/reviews/1",
	            data: jsonStr,
	            processData: true,            
	            dataType: "json",
	            success: function (data) {
                        document.querySelector("#content").value = "";
                }
            });
        } 
    })
}
Ответить с цитированием
  #2 (permalink)  
Старый 22.09.2016, 14:46
Аватар для dd_smol
Кандидат Javascript-наук
Отправить личное сообщение для dd_smol Посмотреть профиль Найти все сообщения от dd_smol
 
Регистрация: 08.03.2015
Сообщений: 131

Если не запутался то как то так.
jQuery(function ( $ ) {
	$('.btnReview').click(function ( e ) {
		$('.Item1').text() === 'product1' && 
		$.ajax({
			type: 'POST',
			url: 'http://smktesting.herokuapp.com/api/reviews/1',
			data: {
				'rate': $(':radio[name=star]:checked').val(),
				'text': $('#content').val()
			},
			headers: {
				'Authorization': 'Token ' + jsonProductLogin.token
			},
			success: function () {
				$('#content').val('');
			}
		});

		return false;
	});	
});

Последний раз редактировалось dd_smol, 22.09.2016 в 15:19.
Ответить с цитированием
  #3 (permalink)  
Старый 22.09.2016, 15:22
Аспирант
Отправить личное сообщение для Sokoljr Посмотреть профиль Найти все сообщения от Sokoljr
 
Регистрация: 27.06.2016
Сообщений: 68

dd_smol,
Спасибо, помогло
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается обратиться к элементу по ID в внешнем JS Konstantin78 Общие вопросы Javascript 2 23.11.2014 17:54
Подгрузка JS + ajax... afr0 AJAX и COMET 8 10.04.2013 14:38
Составить Ajax запрос и json LASSO jQuery 1 16.02.2012 03:36
ajax - jquery, не заменять а добавлять... point3d jQuery 2 13.11.2011 19:28
ajax запрос с подгружемным js HelpeR AJAX и COMET 1 27.10.2008 12:44