Как реализовать функцию возврата из http запроса
У меня есть вызов 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. Как передача параметров этой функции. Так как я могу реализовать.
1 ответ
Решение
Вы можете вызвать его в браузере следующим образом:
policyFunction = eval("(" + validations.policyFunction + ")");
failures = policyFunction.call({ failedPolicyRequirements: [] },
fullObject,
value,
params,
propertyName);
Где fullObject - это весь объект, value - это значение конкретного свойства, params - это любые параметры, необходимые в функции проверки, а propertyName - это имя свойства.