首页 > 解决方案 > ajax 请求中可观察到的淘汰赛

问题描述

我有根据当前用户 ID 填充的表单,但是我需要添加允许用户代表另一个人填写表单的功能。我的 ajax 请求如下所示:

$.ajax({
url: "sharepoint/restapi/items?$filter=login eq '" + viewModel.userId() + "'&$select=city,directorate,person,department,desk,extension",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
    if (data.d.results.length > 0) {
            viewModel.person(value.person);
            ...
        })
    }
},
error: function (data) {
   alert("Error: " + data);
}
}).done(function () {
   console.log('Person information loaded');
});

我通过连接端点 url + observable (userId) + 选择参数来构造 url 字符串。每当我的 userId() 在视图上更改时如何更新数据?

标签: knockout.jsjquery-ajaxq

解决方案


您可以订阅 userId 更改,然后在更改发生时调用您的 ajax 方法:

viewModel.userId.subscribe(function(newUser){
   //call ajax method here to update 
});

推荐阅读