JQuery ошибка?JSONP в сафари с объектами не работает - PullRequest
0 голосов
/ 01 сентября 2011

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

function test(){
dataobject={firstname:"John's"};
 $.ajax({
    url: "http://archive.cyark.org/fieldapp.php",
    dataType: "jsonp",
    data: {
        action:"getprojects1",
        dataobject:dataobject
    },
    success: function(data){
        alert("sucess!")
    },
    error: function(req, status, err){
      alert("An error occurred, are you sure you\'re connected to the internet?");
    }
});
}

Чтобы воссоздать проблему, вам нужно быть в сафари. Кажется, что одиночная кавычка в отправляемом объекте проблематична. И это только проблема в jsonp.

Итак, две вещи: (1) что мне сделать, чтобы решить эту проблему? Мои объекты могут содержать одинарную кавычку, и я должен это учитывать. И (2) это ошибка в jquery?

1 Ответ

0 голосов
/ 01 сентября 2011

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

вы можете использовать json.js для кодирования / экранирования специальных символов в фактических значениях, чтобы не возникало проблем со значениями, содержащими, например, «.» Или метод stringify из http://www.json.org/js.html

...