Как реализовать функцию возврата из http запроса

1

У меня есть вызов ajax, как следует

  $.ajax({
    datatype:'json',
    url: 'http://localhost:9090/openidm/policy/managed/user/'+storeUserId,
    type:'get',
    xhrFields: {
        withCredentials: true
    } ,   
    corssDomain:true,
    headers: {
        "X-Requested-With":"XMLHttpRequest" 
    }, 
    success: function (result){
        var validations = result.properties[1].policies[1];
        console.log(validations.policyFunction);
    },
    error:function (error){
        console.log (error);
    }
   });
});

Вышеупомянутый вызов ajax возвращает policyFunction следующим образом:

    function (fullObject, value, params, property) {
    var isRequired = _.find(this.failedPolicyRequirements, function (fpr) {
        return fpr.policyRequirement === "REQUIRED";
    }), isNonEmptyString = (typeof (value) === "string" && value.length), hasMinLength = isNonEmptyString ? (value.length >= params.minLength) : false;
    if ((isRequired || isNonEmptyString) && !hasMinLength) {
        return [{"policyRequirement":"MIN_LENGTH", "params":{"minLength":params.minLength}}];
    }
    return [];
}

Я хочу реализовать эту функцию в своем файле javascript. Подобно передаче параметров этой функции. Так как я могу реализовать.

  • 0
    такое typeof validations.policyFunction == 'функция'?
  • 0
    Вы имеете в виду этот линк кода? var validations = result.properties [1] .policies [1];
Показать ещё 4 комментария
Теги:
rest
openidm

1 ответ

1
Лучший ответ

Вы можете вызвать его в браузере так:

policyFunction = eval("(" + validations.policyFunction + ")");

failures = policyFunction.call({ failedPolicyRequirements: [] },
    fullObject,
    value,
    params,
    propertyName);

Где fullObject - это весь объект, значением является значение конкретного свойства, params - любые параметры, необходимые в функции проверки, а propertyName - это имя свойства.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню