Json JQuery конфликт - PullRequest
       11

Json JQuery конфликт

2 голосов
/ 13 февраля 2009

Наше корпоративное приложение в настоящее время использует Json.js. Я загрузил JS-файл JQuery, включил его в страницу, использующую json, и я начал получать ошибки Javascript в файле json.js. Ошибка:

Microsoft JScript runtime error: Object doesnt suppor this propety or method

Это известная проблема?

EDIT: Я не уверен, откуда этот файл json.js был загружен (коллега сделал это). Тем не менее, json.js выглядит так:

    json.js
2007-04-13

Public Domain

This file adds these methods to JavaScript:

    array.toJSONString()
    boolean.toJSONString()
    date.toJSONString()
    number.toJSONString()
    object.toJSONString()
    string.toJSONString()

Я заменил этот файл на json2.js, и похоже, что новый файл не имеет функции parseJSON (). Мы используем эту функцию на нескольких страницах.

Ответы [ 5 ]

1 голос
/ 19 ноября 2010

После замены json.js на json2.js просто замените конструкции вроде

foo.toJSONString()
foo.parseJSON()

с

JSON.stringify(foo)
JSON.parse(foo)
1 голос
/ 14 февраля 2009

Чтобы решить любые проблемы с именами переменных / методов, используйте этот метод, который работал для меня 100% времени:

(function(){
  // Your javascript function goes here
})();
1 голос
/ 13 февраля 2009

Похоже, что Json.js использует $ как имя переменной. В этих случаях вам нужно использовать функцию noconflict JQuery . По сути, вы должны поместить тег сценария JQuery над тегом сценария Json и вызвать noconflict для jquery до загрузки библиотеки Json. Одна приятная особенность заключается в том, что, хотя noconflict заставляет JQuery не использовать $, вы можете присвоить результаты noconflict (который будет объектом JQuery) другому псевдониму, например

var $j = jQuery.noConflict();

Теперь вы просто используете $ j везде, где использовали бы $.

1 голос
/ 13 февраля 2009

Возможно, вы захотите указать, что такое json.js. Это http://www.json.org/js.html?

Возможно, вы используете старую версию, которая конфликтует с jQuery

Это может помочь: http://www.mail-archive.com/discuss@jquery.com/msg06247.html

0 голосов
/ 13 февраля 2009

Я использую файл json2.js из http://json.org и файл jQuery_1.3.1.js в сочетании без проблем.

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