29.11.2012, 15:26 | #1 |
Участник
|
extraqs и JQuery+JSON2 на OnLoad
Стоит такая задача:
1) с CRM открываем внешний сайт передаем на него параметры в url-строке (GET) 2) выполняем действия на сайте, получаем нужные данные которые нужно передать на форму создания нужной сушности Что делаю: 1) все просто window.open и не парюсь 2) собираю нужные данные и создаю Код: url = http://наш crm/main.aspx?etc=код сущности&pagetype=entityrecord&extraqs= а здесь поля и их значения Код: /main.aspx?etn=account&extraqs=name%3DNew%20Account&pagetype=entityrecord Так вот если на открытой форме есть ajax запрос с типом json (всеми любимый REST запрос), то он "крашится" в jquery и выдает ошибку ajax syntax error json.parse Если передаю пустой &extraqs= то все норм работает. В чем может быть проблема? Уже даже не знаю где искать. И можно ли как-то с сайта (другой домен) вызвать форму CRM на создания и предзаполнить ей поля ? |
|
29.11.2012, 15:31 | #2 |
Чайный пьяница
|
Цитата:
Сообщение от spectr
Стоит такая задача:
1) с CRM открываем внешний сайт передаем на него параметры в url-строке (GET) 2) выполняем действия на сайте, получаем нужные данные которые нужно передать на форму создания нужной сушности Что делаю: 1) все просто window.open и не парюсь 2) собираю нужные данные и создаю Код: url = http://наш crm/main.aspx?etc=код сущности&pagetype=entityrecord&extraqs= а здесь поля и их значения Код: /main.aspx?etn=account&extraqs=name%3DNew%20Account&pagetype=entityrecord Так вот если на открытой форме есть ajax запрос с типом json (всеми любимый REST запрос), то он "крашится" в jquery и выдает ошибку ajax syntax error json.parse Если передаю пустой &extraqs= то все норм работает. В чем может быть проблема? Уже даже не знаю где искать. И можно ли как-то с сайта (другой домен) вызвать форму CRM на создания и предзаполнить ей поля ?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: spectr (1). |
29.11.2012, 15:48 | #3 |
Участник
|
Цитата:
За англ. символы спасибо, пока вижу решение с использованием перекодировщика "кириллица-латиница" и обратно (Бред но что делать) |
|
29.11.2012, 16:01 | #4 |
Консультант-джедай
|
Использовать что-то вроде encodeURIComponent(str) и encodeURI(str). не пробовали?
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
|
За это сообщение автора поблагодарили: spectr (-1). |
29.11.2012, 16:08 | #5 |
Участник
|
Цитата:
Цитата:
When you open a new form by using the URL address, you can include arguments in the extraqs parameter to set field values. The following requirements must be met:
You must encode the parameters passed in the extraqs parameter. To encode the parameters, use encodeURIComponent. The names of the query string arguments must match or include the names of attributes for the entity. The values passed must be valid. The value cannot be a script. |
|
29.11.2012, 16:39 | #6 |
Moderator
|
Андрей, я ж тебе присылал уже ссылку на функции кодирования-декодирования: http://www.w3schools.com/jsref/jsref_obj_global.asp
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
29.11.2012, 16:51 | #7 |
Чайный пьяница
|
Цитата:
Сообщение от Артем Enot Грунин
Андрей, я ж тебе присылал уже ссылку на функции кодирования-декодирования: http://www.w3schools.com/jsref/jsref_obj_global.asp
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
29.11.2012, 16:53 | #8 |
Чайный пьяница
|
Цитата:
window.top.opener.getElementById('contentIFrame').contentWindow.Xrm.Page.getAttribute().... Если в коде ошибся - не серчайте, но надеюсь идея понятна. UPD. Перечитал, что у вас внешний сайт. Не сработает, к сожалению...
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit Последний раз редактировалось a33ik; 29.11.2012 в 16:56. |
|
29.11.2012, 17:17 | #9 |
Участник
|
Еще одна интересная вещь если делаю двойное encodeURIComponent: Код: extraqs=encodeURIComponent("new_param="+encodeURIComponent("что там")); UPD. А вот 3 уже катит: Код: extraqs=encodeURIComponent("new_param="+encodeURIComponent(encodeURIComponent("что там"))); Последний раз редактировалось spectr; 29.11.2012 в 17:33. |
|
|
За это сообщение автора поблагодарили: a33ik (5). |
29.11.2012, 17:38 | #10 |
Чайный пьяница
|
Жестяка. Респект и уважуха.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|