JQuery AJAX вызов не работает в FF и сафари работает в IE - PullRequest
1 голос
/ 08 марта 2010

Я сделал небольшой модуль для использования скрипта jquery / ajax на моем сайте. Для этого я использовал примеры, которые есть на сайте и другие. Скрипт работает в IE (для изменения он работает там), но я не могу заставить его работать в FF или сафари. Многое перепробовал, но почему-то никогда не выполняет функцию updatecounter Я не программист javascript, поэтому понятия не имею, где искать. Может быть, есть такие, кто знает, что я делаю неправильно Пробовал

if (Drupal.jsEnabled) {
$(document).ready(function(content) {
$('a.download').click(function () {
// This function will get exceuted after the ajax request is completed successfully
var updatecounter = function(data) {
alert (data.counter); // only in IE this is displayed not in FF or Safari
}
alert(this.href); // this works in all browsers
var urlget = "/counter/get”;
$.ajax({
type: 'GET',
url: urlget,
success: updatecounter, // The js function that will be called upon success request
dataType: 'json', //define the type of data that is going to get back from the server
data: 'js=1' //Pass a key/value pair
});
//return false; // return false so the navigation stops here and not continue to the page in the link .. This puzzles me also. If I put it in the program stops and does not continue
});
});
}

Странная вещь, если я изменю это на:

if (Drupal.jsEnabled) {
$(document).ready(function(content) {
$('a.download').click(function () {
// This function will get exceuted after the ajax request is completed successfully
var updatecounter = function(data) {
alert (data.counter); // only in IE this is displayed not in FF or Safari
}
var fout = function(stat, statext) {
alert (stat.readyState);
alert (statext);
}

alert(this.href); // this works in all browsers
var urlget = "/counter/get”;
$.ajax({
type: 'GET',
url: urlget,
success: updatecounter, // The js function that will be called upon success request
error: fout , // calls when error
dataType: 'json', //define the type of data that is going to get back from the server
data: 'js=1' //Pass a key/value pair

});
//return false; // return false so the navigation stops here and not continue to the page in the link .. This puzzles me also. If I put it in the program stops and does not continue
});
});
}

Он всегда переходит на fout и отображает код ошибки 4 и текстовую ошибку. Так что вызов ajax работает, но выдает мне всегда и ошибку (только в FF и сафари, а не в IE)

Я пытаюсь сделать это в течение нескольких часов, может быть, кто-то может помочь мне здесь Спасибо

Ответы [ 2 ]

1 голос
/ 08 марта 2010

Вы копировали и вставляли этот код со своей страницы в вопрос? Потому что, если это так, он использует (причудливая закрывающая цитата), а не " (прямая цитата) в этой строке:

var urlget = "/counter/get”;

Я не удивлюсь, если бы это было частью проблемы, это неверный способ завершить строку (хотя легко допустить ошибку с некоторыми раскладками клавиатуры).

0 голосов
/ 13 июля 2010

У меня только что была эта проблема - и мое решение было в именах переменных. Safari был в порядке со мной, используя «текст» в качестве имени переменной (я знаю, неаккуратно), но он дал ошибку в FF.

Я публикую это не потому, что думаю, что это обязательно решение вышеуказанной проблемы, а на тот случай, если кто-то найдет эту ветку и сделает аналогичную ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...