Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.05.2017, 16:06
Аспирант
Отправить личное сообщение для SkyNetYar Посмотреть профиль Найти все сообщения от SkyNetYar
 
Регистрация: 14.04.2017
Сообщений: 32

JSON-->redirect
Приветствую!
Помогите советом
REST API возвращает JSON некоторые параметры таким макаром


{'error':'201','ID':'18202','error_message':'Лид добавлен','AUTH':'11bc63a3a64d79dbdcd5cf8e389526c'}



Где 'ID':'18202' это и есть id этого самого нового лида....

Открыть его можно было таким образом
url: this.config.bitrix_domain + "/crm/lead/edit/18202/"

Но как получить этот json преобразовать и сразу сделать редирект на этот лид я не могу, не хватает опыта (
Ответить с цитированием
  #2 (permalink)  
Старый 18.05.2017, 16:35
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,729

SkyNetYar, очень вряд ли это то, что тебе нужно:

var response="{'error':'201','ID':'18202','error_message':'Лид добавлен','AUTH':'11bc63a3a64d79dbdcd5cf8e389526c'}";
try{
	response=JSON.parse(response);
	window.location.href=this.config.bitrix_domain+'/crm/lead/edit/'+response.ID+'/';

} catch(e){
	if(!!window.console && !!console.error)
		console.error(e);
	
	alert('Произошла ошибка');
}
Ответить с цитированием
  #3 (permalink)  
Старый 18.05.2017, 16:43
Аспирант
Отправить личное сообщение для SkyNetYar Посмотреть профиль Найти все сообщения от SkyNetYar
 
Регистрация: 14.04.2017
Сообщений: 32

Похоже на правду! но вот как это использовать,мой код такой..

t.prototype.makeNotFoundCallButtons = function () {
					var t,
					e;
					return t = [],
					e = "phone=" + encodeURIComponent(this.call.entityPhone),
					e += "&title=" + encodeURIComponent(this.call.source) + " " + "(" + encodeURIComponent(this.call.entityPhone) + ")",
					e += "&address=" + encodeURIComponent(this.call.source),
					t.push({
						title: "Создать контакт",
						url: this.config.bitrix_domain + "/crm/contact/edit/0/?" + e
					}),
					t.push({
						title: "Создать лид",
						url: this.config.bitrix_domain + "/crm/lead/edit/0/?" + e
					}),
					t.push({
						title: "Записать лид",
						url: this.config.bitrix_domain + "/crm/configs/import/lead.php?LOGIN=admin&PASSWORD=qwerty&TITLE="+ encodeURIComponent(this.call.source) + " " + "(" + encodeURIComponent(this.call.entityPhone) + ")"+"&PHONE_WORK="+ encodeURIComponent(this.call.entityPhone)+"&SOURCE_ID="+ encodeURIComponent(this.call.source) +""
					}), 
					t.push({
						title: "Создать компанию",
						url: this.config.bitrix_domain + "/crm/company/edit/0/?" + e
					}),
					t
				},


Вот когда нажимаю на кнопку срабатывает вот эта часть
t.push({
						title: "Записать лид"
url: this.config.bitrix_domain + "/crm/configs/import/lead.php?LOGIN=admin&PASSWORD=qwerty&TITLE="+ encodeURIComponent(this.call.source) + " " + "(" + encodeURIComponent(this.call.entityPhone) + ")"+"&PHONE_WORK="+ encodeURIComponent(this.call.entityPhone)+"&SOURCE_ID="+ encodeURIComponent(this.call.source) +""


Как приспособить?
Именно вот это this.config.bitrix_domain + "/crm/configs/import/lead.php? идет обращение к REST API и тот возвращает то что выше писал..

Последний раз редактировалось SkyNetYar, 18.05.2017 в 16:46.
Ответить с цитированием
  #4 (permalink)  
Старый 18.05.2017, 16:57
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,729

SkyNetYar, если это официальное SDK, то смотри в документации как к "кнопке" (элементу управления) присобачить callback-функцию.

Код, который ты привел бесполезен, т.к. в нем ничего нет, кроме заполнения массива «t».
Причем заполнения происходит в, по-моему, убогой форме. Хотя чего еще от битрикса ожидать?
Ответить с цитированием
  #5 (permalink)  
Старый 19.05.2017, 16:36
Аспирант
Отправить личное сообщение для SkyNetYar Посмотреть профиль Найти все сообщения от SkyNetYar
 
Регистрация: 14.04.2017
Сообщений: 32

Мне надо что то типа
var res = JSON.parse(); из {'error':'201',''ID':'18117,'error_message':'Ли добавлен','AUTH':'f5e7f34d3b78f1964cb452cf 835c40e'}
затем перекидывать на что то типа
url: this.config.bitrix_domain + "/crm/lead/edit/" + res.ID

Помогите обернуть правильно пожалуйста!

То что Вы предложили самое оно вроде бы как но как считывать этот самый var response=""; ?

Последний раз редактировалось SkyNetYar, 19.05.2017 в 16:38.
Ответить с цитированием
  #6 (permalink)  
Старый 19.05.2017, 22:56
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,729

SkyNetYar, данных для выполнения твой просьбы недостаточно.
Как я писал ранее, участок кода, что ты привел бесполезен.
Ответить с цитированием
  #7 (permalink)  
Старый 22.05.2017, 11:20
Аспирант
Отправить личное сообщение для SkyNetYar Посмотреть профиль Найти все сообщения от SkyNetYar
 
Регистрация: 14.04.2017
Сообщений: 32

Могу ли я Вам все расширение скинуть? поможете?
Ответить с цитированием
  #8 (permalink)  
Старый 23.05.2017, 10:38
Аспирант
Отправить личное сообщение для SkyNetYar Посмотреть профиль Найти все сообщения от SkyNetYar
 
Регистрация: 14.04.2017
Сообщений: 32

var response="как тут указать ответ API битрикса?"
Вот пока с этим не могу справится, как отловить то этот ответ и указать его?
Он просто выводит а белой странице

{
'error':'201',
'ID':'18202',
'error_message':'Лид добавлен',
'AUTH':'11bc63a3a64d79dbdcd5cf8e389526c'
}

Мне нужно вот это 'ID':'18202', это значение каждый раз разное соответственно...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сериализация форм в json Dtri jQuery 17 07.02.2017 11:42
собрать из json Html Валерий1996 AJAX и COMET 1 15.06.2015 08:41
Не могу распарсить JSON. gorenie jQuery 3 29.11.2013 22:26
JSON или JSONP для запросов на другой сервер? Метод GET, для длинных сообщений? Kotakota jQuery 5 23.08.2011 23:12
jQuery. Обработка ошибок и JSON. mma_mma jQuery 3 19.07.2010 12:10