Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 16 Ответов
  • 1274 Просмотров
*

fbr

  • Завсегдатай
  • 1625
  • 189 / 7
Здравствуйте,

Есть кастомизированный под свои нужды модуль обратной связи quickcontact

Появилась задача, одновременно с отправкой почты, отправлять данные на сервер CRM
По отдельности все работает.

Отправка почты:
Код
$('#sp-quickcontact-form').submit(function() {
var value   = $(this).serializeArray(),
request = {
'option' : 'com_ajax',
'module' : 'sp_quickcontact',
'data'   : value,
'format' : 'jsonp'
};
$.ajax({
type   : 'POST',
data   : request,

success: function (result) {...},
error: function (jqXhr) {...}

});
return false;
});

Отправка запроса на CRM:
Код
$('#sp-quickcontact-form').submit(function() {
$.ajax({

url: "http://domainName.t8s.ru/Api/V1/AddStudyRequest",
data: {
fullName: "Иванов Иван Иванович",
eMail: "ivanov@mail.ru",
phone: "+712312312312"
},
type: "GET",
crossDomain: true,
dataType: "jsonp",

success: function (result) {...},
error: function (jqXhr) {...}

});
return false;
});

Подскажите, как их можно объединить и выполнить одновременно

Спасибо)
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
ну как бы в модуле после отправки добавить PHP код кодорый через cURL например будет отправлять запрос на CRM Сервер
*

fbr

  • Завсегдатай
  • 1625
  • 189 / 7
А по другому никак?
Просто они предоставляют api добавления заявки в CRM из javascript
А с cURL ...  надо разбираться ...
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
А по другому никак?
Просто они предоставляют api добавления заявки в CRM из javascript
А с cURL ...  надо разбираться ...
а чем отличается запрос из JS и PHP?) всего лишь адрес по которому через AJAX передаёт какие то данные, только в JS средствами браузера, а в PHP средствами сервера.. вам просто посмотреть какие данные передаются и банально слать их через cURL
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
кстати учитывая что вы там передаёте через GET данные в CRM то вполне возможно что можно просто так:
Код
file_get_contents('http://domainName.t8s.ru/Api/V1/AddStudyRequest?fullName=lala&eMail=lalal&phone=blabla');
и никакого curl вполне возможно и не надо...
ну и плюс там какой то ключ наверно передать...
*

fbr

  • Завсегдатай
  • 1625
  • 189 / 7
щас попробую через cURL ...
*

fbr

  • Завсегдатай
  • 1625
  • 189 / 7
Добавил в helper.php

Код
if ($mail->Send()) { 
 if ($curl = curl_init()) {
    curl_setopt($curl, CURLOPT_URL, 'http://domainName.t8s.ru/Api/V1/AddStudyRequest?fullName=fbr&phone=2343430');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($curl);
    curl_close($curl);
 }
}

не работает ((
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Так и выполняйте
Код
$('#sp-quickcontact-form').submit(function(){
$.ajax({
действие_1
});
$.ajax({
действие_2
});
}
Если нужно убедиться в успешном выполнении действия 1, то
Код
$('#sp-quickcontact-form').submit(function(){
$.ajax({
действие_1
success: function(response){
...
$.ajax({
действие_2
});
});
}
« Последнее редактирование: 01.03.2018, 23:32:12 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Добавил в helper.php

Код
if ($mail->Send()) { 
 if ($curl = curl_init()) {
    curl_setopt($curl, CURLOPT_URL, 'http://domainName.t8s.ru/Api/V1/AddStudyRequest?fullName=fbr&phone=2343430');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($curl);
    curl_close($curl);
 }
}

не работает ((
вы уверены в правильности запроса?
посмотрите в отладке браузера что отправляется при jsonp запросе.
*

fbr

  • Завсегдатай
  • 1625
  • 189 / 7
Так, file_get_contents работает!

один вариант есть))
*

fbr

  • Завсегдатай
  • 1625
  • 189 / 7
Так и выполняйте ..
Можно 2 раза подряд $.ajax запускать?
не знал...
щас попробую
*

fbr

  • Завсегдатай
  • 1625
  • 189 / 7
Вариант с последовательными $.ajax - тоже работает!

Всем спасибо!
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Вариант с последовательными $.ajax - тоже работает!

Конечно работает, но есть одно но - проверяйте первый success: function(response) на корректность и только после запускайте второй запрос.
А то вдруг почта не отправилась (неправильный мыл к примеру) письмо не ушло но запрос в црм отработает.
Проверили результат первого запроса и если все ок запускаем внутри второй
« Последнее редактирование: 01.03.2018, 23:32:52 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

fbr

  • Завсегдатай
  • 1625
  • 189 / 7
Логично. Спасибо
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Можно 2 раза подряд $.ajax запускать?
Можно сколько угодно раз. Но имейте в виду, что в JavaScript, в отличие от PHP, следующее действие запускается сразу после запуска предыдущего, не дожидаясь окончания его выполнения.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
в JavaScript, в отличие от PHP, следующее действие запускается сразу после запуска предыдущего, не дожидаясь окончания его выполнения.
Почему же, если запускать его именно по success, учитывая что пришло в ответе от первого запроса (правильно или фалсе) второй запрос запустится после выполнения первого
Не последовательный AJAX запрос а вложенный получается
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Почему же, если запускать его именно по success
Верно, потому что это происходит в рамках 1 "действия".
Короче, если вам нужно соблюдать порядок выполнения кода в JavaScript, то его нужно упаковать во вложенные функции, IMHO.
Не будь паразитом, сделай что-нибудь самостоятельно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

SP Page Builder - ajax Contact

Автор TW-WEB

Ответов: 4
Просмотров: 2394
Последний ответ 29.01.2019, 15:47:53
от Akeksandr
[SP Page Builder] Модуль ajax contact в модальном окне

Автор TW-WEB

Ответов: 2
Просмотров: 2693
Последний ответ 24.02.2018, 17:34:50
от TW-WEB
Improved AJAX Login & Register + социальные кнопки

Автор atkaa1

Ответов: 12
Просмотров: 3156
Последний ответ 07.10.2017, 18:02:29
от vipiusss
Соединить два скрипта

Автор vipiusss

Ответов: 2
Просмотров: 875
Последний ответ 22.10.2016, 11:28:45
от vipiusss
Модуль отправки сообщений для Joomla 1.5 и 2.5 (ajax)

Автор gaalferov

Ответов: 7
Просмотров: 5715
Последний ответ 02.06.2015, 18:05:52
от gaalferov