2012-02-19 2 views
1

Я хочу создать простой букмарклет для передачи некоторой информации из javascript в мое приложение Code Ignitor.Передача данных с javascript в код ignitor

Для этого необходимо использовать GET, но GET отключен в CodeIgnitor, и для его включения потребуется перезаписать несколько видов и кода бэкэнд, которые отсутствуют.

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

/controller/method/p1/p2/p3 

но если p2 не является обязательным, он бросает его немного.

В идеале я думал, что я мог бы сделать

/controller/method/p1 

Где p1 является массив JSON.

Однако, поскольку это букмарклет, действительно можно использовать только стандартные и стандартные функции javascript.

Если бы я мог сделать

/controller/method?p1=foo&p2=bar 

сделает жизнь проще.

Любые предложения?

+2

Я не понимаю, почему вы не можете просто сделать вариант «более простой жизни». Вы не ясно описали, что это за препятствие. –

+0

Вы не можете активировать традиционный синтаксис синтаксиса GET с помощью Codeigniter, не нарушая некоторые функциональные возможности. Это надоедает. –

ответ

0

1.) Вы не ограничены только «базовыми и стандартными функциями javascript» в букмаркете. Вы можете использовать любую библиотеку, включенную уже на страницу, или вы можете использовать букмарклет, чтобы сначала добавить библиотеку, а затем использовать ее. Чтобы добавить библиотеку на страницу с помощью букмарклета, просто добавьте тег сценария и используйте атрибут onload для выполнения нужного кода после загрузки библиотеки.

Вот генератор букмарклетов, который позволит вам использовать jQuery с любым букмарклетом: http://benalman.com/code/test/jquery-run-code-bookmarklet/ - здесь вы можете следить за ссылками. Поскольку он предназначен для создания букмарклетов практически для любого типа страниц, генератор создает код, который немного сложнее, чем может быть в вашем случае.

2.) Почему бы не сделать что-то вроде этого: /controller/method/p1=foo&p3=bar, а затем очень легко разобрать строку самостоятельно. (Обратите внимание, что это не получение. Нет «?».)

Или аналогично /controller/method/p1=foo/p3=bar или /controller/method/p1-foo/p3-bar.

3.) Вы можете использовать держатели по умолчанию, которые будут игнорироваться кодом на стороне сервера, например /controller/method/P1/null/P3 или /controller/method/P1/-/P3.

+0

Я пошел с вариантом 3 здесь :) – Wizzard

0

В чем проблема с установкой значений по умолчанию для переменных, которые являются необязательными, а затем с помощью конструктора if, чтобы искать значения по умолчанию и игнорировать их?

Чтобы быть более четким, соответствующая функция класса контроллера принимает аргументы GET в качестве параметров в CI, поэтому вы можете просто установить значения по умолчанию. Затем проверьте, имеются ли значения по умолчанию и игнорируются такие переменные ...

 Смежные вопросы

  • Нет связанных вопросов^_^