есть функция, при нажатии на кнопку, отправляются комментарии на сервер, на чистом 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 = "";
}
});
}
})
}