Jquery Ajaxing в Processmaker - PullRequest
       3

Jquery Ajaxing в Processmaker

3 голосов
/ 12 августа 2011

Я использую веб-приложение под названием ProcessMaker.

У них нет поддержки jquery.Таким образом, я должен был выяснить, как интегрировать это сам.На их форумах было много людей, пытающихся это сделать, так что, к счастью, теперь это задокументировано.Если кто-то захочет это сделать, вот ссылка, по которой я подробно описал процесс: jQuery с ProcessMaker

Мой вопрос теперь использует запрос jquery ajax.Чтобы использовать jquery с processmaker, мне пришлось преодолеть 2 проблемы.Первая фильтрация Smarty, так как в Processmaker используется язык шаблонов.И во-вторых, Maborak lib не допускает определенных вещей.Так что теперь я считаю, что это проблема maborak, но я не знаю наверняка.Все, что я знаю, когда пытаюсь запустить свой код, консоль ошибок (firefox 4.x) выдает мне следующую ошибку: jqXHR [i] не является функцией.Это происходит в строке 7323 моей библиотеки jquery, которую я включил (версия 1.6.2).

У меня есть Google, и все, что я до сих пор придумываю, это то, что люди говорят, что это может быть befreSendпроблема и что отключение это исправляет это.Может быть, я не знаю, как правильно отключить его, но он по-прежнему не работает.

Если кто-нибудь может мне помочь с этим, это будет очень признательно.

Спасибо, Зедд

Ответы [ 4 ]

0 голосов
/ 29 августа 2016

читать новую документацию по ajax в dynaform в this

или

Напишите эту функцию

function ajax(url, callback, error, method, cache, async) {
    async = async || true;
    //alert(cache);
    if (typeof(cache) == 'undefined') {
        cache = false;
    }
    if (typeof(method) == 'undefined') {
        method = 'GET';
    }
    if (window.XMLHttpRequest) // code for IE7+, Firefox, Chrome, Opera, Safari
    {
        xmlhttp = new XMLHttpRequest();
    } else // code for IE5, IE6
    {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange = function() {

        if (xmlhttp.readyState == 4) {
            if (xmlhttp.status == 200) {
                if (typeof(callback) == 'function') {
                    callback(xmlhttp.responseText);
                }

            } else {

                if (typeof(error) == 'function') {
                    error(xmlhttp.status);
                } else {
                    alert('خطا : لطفا مجددا تلاش کنید.');
                }


            }


        }

    }
    var d = new Date();
    var n = d.getTime();
    var getExplode = url.split("?");
    scriptName = url;
    param = '';
    if (getExplode.length > 1) {
        scriptName = getExplode[0];
        param = getExplode[1];
        if (cache == false) {
            param = param + "&n=" + n;
        }

    } else {
        if (cache == false) {
            param = param + "n=" + n;
        }
    }

    if (method.toLowerCase() == 'post') {
        xmlhttp.open("POST", scriptName, async);
        xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlhttp.send(param);

    } else {
        xmlhttp.open("GET", scriptName + '?' + param, async);
        xmlhttp.send();
    }



}

и используйте его вот так

var url = ajaxUrl + "OperationRenovation.php?Command=GetDetail&IdDarkhast=" + ID + "&Code=" + Code + "&Mabna=" + Mabna;
ajax(url, function(Response) {
    alert(response);
}, function() {
    alert('مشکل در برقراری ارتباط با سرور');
}, 'post');
0 голосов
/ 15 мая 2013

В Processmaker существует библиотека "makorak", эта библиотека создает проблемы с другими библиотеками .. следовательно, вы должны использовать jquery следующим образом ...


var $ JQ = jQuery.noConflict ();

$ JQ ("# myField"). Value = 'cochalo';


надеюсь, что я помог

0 голосов
/ 16 мая 2013

Попробуйте это:

$.noConflict();
jQuery(document).ready(function($)){

    $("button").click.function(){

        $("p").text("jquery is still working");
    }

}
0 голосов
/ 10 мая 2013

перед: вам нужно объявить это: var $ j = jQuery.noConflict ();

и ... вы больше не должны использовать $ ()

вместо

use $j()

пример:

// Use jQuery via $j(...)
$j(document).ready(function() {
    $j("div").hide();
});

это все

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