Искам да проверя в страна на клиента (jQuery) дали връщането на данни от PHP функция е обект Json или String, за да зададете различна функция.
Отговори:
45 за отговор № 1parseJson на jQuery ще генерира изключение акоjson не е в правилния формат. Можете да преодолеете обаждането си в опит за блокиране на улова. (Но не забравяйте, че изключенията в потока на нормалния си код са лоша практика)
data = "{}";
try {
json = $.parseJSON(data);
} catch (e) {
// not json
}
Можете да използвате и родния JSON.parse()
метод, който хвърля a SyntaxError
изключение
Ако очаквате лошо JSON като част от нормалния работен поток на програмата, тогава можете първо да го проверите с regex, Отговорът на Mic е доста твърд Но във вашия случай, PHP винаги трябва да генерира валиден json при нормални условия. Ако неговата невалидна вероятно е грешка в софтуера ви
7 за отговор № 2
try {
jQuery.parseJSON( json )
//must be valid JSON
} catch(e) {
//must not be valid JSON
}
6 за отговор № 3
Данните за връщане винаги са низ (т.е. последователност от знаци). Но ако кажете на jQuery очаквате json отговор, той ще се опита да конвертира низ в javascript обект за вас.
Няма специален мрежов протокол за прехвърляне на обекти на javascript по интернет.
-1 за отговор № 4
В javascript можете да използвате тип