如何从 http 请求中实现函数 return

How to Implement function return from http request

我有一个 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 调用 return 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 文件中实现该功能。就像将参数传递给该函数一样。那么我该如何实施。

您可以像这样在浏览器中调用它:

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

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

其中 fullObject 是整个对象,value 是特定 属性 的值,params 是验证函数中需要的任何参数,属性Name 是 [=15] 的名称=].