решено:
Проблема заключается в безопасности Firefox 6.0.2.
Я изменил свой запрос URL с:
http://mysite.com/ajax/request
в / ajax / запрос
и его работа.
Если вам нужно использовать кросс-домены, вам нужно использовать jsonp в качестве dataType.
Большое спасибо злой смерти
Мой запрос JSON на мой сервер возвращает пустой ответ.
Это происходит только в Firefox 6.0.2 и Safari на компьютере с Windows Vista.
Вывод генерируется скриптом php и имеет заголовки json / application.
Возвращает пустой ответ:
$('#ajaxcall').click(function(){
var ts = new Date().getTime();
var urlz = $('#targeturl').val()+'/'+ts;
var dataString = $("#datazz").val();
$.ajax({
type: "POST", url: urlz, data: "data="+dataString,
success: function(data){
var obj = jQuery.parseJSON(data);
for (var i = 0; i < obj.length; i++) {
var object = obj[i];
for (property in object) {
var s = property + "=" + object[property] + "<br>";
$("#console").after(s);
}
}
}
});
});
А также это:
$( "#tags" ).autocomplete({
source: function( request, response ) {
$.post("http://mysite.com/v2/ajax/tag_suggestion/ab", {data:request.term}, function(data){
response($.map(data, function(item) {
if ($('#tagsboxvals').hasClass(item.name.split(' ').join('_'))){
return null;
} else {
return {
label: item.name,
value: item.name
}
}
}))
}, "json");
},
....
});
Спасибо за вашу помощь
Редактировать: это то, что генерирует скрипт PHP:
$arr = array(
array('name'=>'pizza', 'point'=>'1'),
array('name'=>'blt', 'point'=>'1'));
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json');
echo json_encode($arr);
Это правильно сформированный документ JSON.
Заголовки:
Заголовки ответа
Дата Ср, 07 Сен 2011 23:58:42 GMT
Сервер Apache / 2.2.3 (CentOS)
X-Powered-By PHP / 5.1.6
Истекает понедельник, 26 июля 1997 года 05:00:00 по Гринвичу
Cache-Control без кеша, обязательна повторная проверка
Прагма без кеша
Контент-длина 29
Соединение закрыто
Приложение Content-Type / JSON
Заголовки запроса
Хост mysite.com
Пользовательский агент Mozilla / 5.0 (Macintosh; Intel Mac OS X 10.7; версия 6.0) Gecko / 20100101 Firefox / 6.0
Принять приложение / JSON, текст / JavaScript, / ; д = 0,01
Accept-Language en-us, en; q = 0,5
Принять кодировку gzip, deflate
Accept-Charset ISO-8859-1, utf-8; q = 0,7, *; q = 0,7
Поддержание связи
Приложение Content-Type / x-www-form-urlencoded; кодировка = UTF-8
X-Requested-With XMLHttpRequest
Реферер http://mysite.com/v2/user/register
Длина контента 8
Город печенья = Нью-Йорк; __utma = 100174657.1435105779.1308773648.1314994226.1315368765.113; __utmz = 100174657.1315368765.113.98.utmcsr = mysite.com | utmccn = (направление) | utmcmd = направление | utmcct =
Заголовки пост-ответа JSON
Объект {имя = "пицца", точка = 1}
[Object {name = "pizza", point = 1}]
Он отлично работает с Chrome на той же машине, но не с Firefox и Safari.