Web服务中的Javascript Ajax调用无法调用方法

时间:2019-03-05 06:01:11

标签: javascript ajax function web-services sharepoint

我在SharePoint网站的“隐藏脚本编辑器” Web部件内实现了Ajax调用。

但是我的ajax函数似乎无法从InsertAuditLog调用Web Service方法。

我可以访问Web Service并使用Invoke按钮测试操作,并且记录已成功插入数据库。

enter image description here

<script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(getCurrentUser, "sp.js");
 
var currentUser;
 
function getCurrentUser(){
var ctx= new SP.ClientContext.get_current();
var web = ctx.get_web();
currentUser = web.get_currentUser();
ctx.load(currentUser);
ctx.executeQueryAsync(onSuccess, onFailure);
}
 
function onSuccess() {
alert(currentUser.get_title()); //displayed correctly
document.getElementById('userLogin').value = currentUser.get_title(); 
}
 
function onFailure() {
alert('request failed' + args.get_message() + '\n' + args.get_stackTrace());
}
 
function getClickURL(url){
alert(url); //displayed correctly
var loginName = document.getElementById('userLogin').value;
var extension = ['pdf', 'xls', 'xlsx', 'doc', 'docx', 'ppt', 'pptx', 'txt', 'jpg', 'jpeg', 'gif', 'png'];
                var filename = url.split('/').pop().replace('%20',' ');
                var ext = filename.split('.').pop().toLowerCase();
                if  (extension.indexOf(ext) >= 0) { 
                alert(filename + " " + loginName); //displayed correctly
                InsertLog(filename, loginName, url);
                }
}

function InsertLog(filename, loginName, link) {
alert(filename + loginName);     <============ //Last displayed alert box
$.ajax({
type: "POST",
url: "http://sp2016.s1.com:8888/S1WebServices.asmx/InsertAuditLog",
data: '{ sFilename : "' + filename + '", sUserName : "' + loginName + '", sLink : "' + link + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
    alert(data.d); //not displayed
},
error: function (objXMLHttpRequest, textStatus, errorThrown) {
    alert(data.d);  //not displayed              
}
});
}
</script>
 <input id="userLogin" name="userLogin" type="hidden">

有什么方法可以解决此问题?

0 个答案:

没有答案