All the AJAX calls should be made with $.ajax

because we're gonna want to expect application/xml or text/xml back.

There's a weird thing in Firefox where the call on line ~703 makes the
web developer console output "not well formed" which is for the returned
data. It is assumed to be text/xml - which it is - but the doctype says
"html" (because it is first <?xml..?> followed by <!DOCTYPE html ...->

This doesn't cause any malfunction right now, just the output in the
console. I'm not exactly sure how to fix it. Probably remove the DOCTYPE
output for AJAX calls, but I'm not sure that's the best way. Could this
maybe even be a browser/javascript/whatever bug? Because the Content-Type
from the server _is_ right...
This commit is contained in:
Mikael Nordfeldth 2015-03-08 01:34:40 +01:00
parent 77190c9a87
commit 3c5383b11c

View File

@ -590,8 +590,12 @@ var SN = { // StatusNet
$(document).on('click', '.notice-options > a.popup', function (e) {
e.preventDefault();
var noticeEl = $(this).closest('.notice');
$.get($(this).attr('href'), {ajax: 1}, function (data, textStatus, xhr) {
$.ajax({
url: $(this).attr('href'),
data: {ajax: 1},
success: function (data, textStatus, xhr) {
SN.U.NoticeOptionPopup(data, noticeEl);
},
});
return false;
});
@ -692,7 +696,10 @@ var SN = { // StatusNet
// Fetch a fresh copy of the notice form over AJAX.
var url = $('#input_form_status > form').attr('action');
$.get(url, {ajax: 1, inreplyto: id}, function (data, textStatus, xhr) {
$.ajax({
url: url,
data: {ajax: 1, inreplyto: id},
success: function (data, textStatus, xhr) {
var formEl = document._importNode($('form', data)[0], true);
replyItem.append(formEl);
list.append(replyItem);
@ -700,6 +707,7 @@ var SN = { // StatusNet
replyForm = $(formEl);
SN.Init.NoticeFormSetup(replyForm);
nextStep();
},
});
} else {
replyForm = replyItem.children('form');
@ -718,11 +726,15 @@ var SN = { // StatusNet
$(document).on('click', 'li.notice-reply-comments a', function () {
var url = $(this).attr('href');
var area = $(this).closest('.threaded-replies');
$.get(url, {ajax: 1}, function (data, textStatus, xhr) {
$.ajax({
url: url,
data: {ajax: 1},
success: function (data, textStatus, xhr) {
var replies = $('.threaded-replies', data);
if (replies.length) {
area.replaceWith(document._importNode(replies[0], true));
}
},
});
return false;
});