怎样获取ajax方法的返回值,如何在$ .ajax(类型get)调用中获取方法的返回值? - javascript...

我有一个ASP.NET MVC应用程序,其中有一个方法,该方法返回对象列表:

public List GetAllFilesFromDirectory()

{

string filePath = @"C:\FilesToWatch";

string[] fileEntries = Directory.GetFiles(filePath, "*.txt", SearchOption.TopDirectoryOnly);

FileObject fo;

List list = new List();

foreach (var file in fileEntries)

{

FileInfo info = new FileInfo(file);

fo = new FileObject

{

FileName = info.Name, //asdf.txt

FilePath = info.FullName //C:\FilesToWatch\asdf.txt

};

list.Add(fo);

}

return list;

}

现在,我想用javascript返回此列表:

$.ajax({

type: "GET",

url: "Home/GetAllFilesFromDirectory",

data: ???,

success: function () {

console.log('success');

},

error: function () {

console.log('error');

},

complete: function (data) {

console.log('complete');

}

});

我知道我必须添加data:属性,但是我真的不知道在data:之后我应该写什么来返回此列表。

参考方案

您无需将data传递为controllerAction不接受任何参数。您可以从controllerAction返回以下更清晰的结果,如下所示:

public ActionResult GetAllFilesFromDirectory()

{

string filePath = @"C:\FilesToWatch";

string[] fileEntries = Directory.GetFiles(filePath, "*.txt",

SearchOption.TopDirectoryOnly);

FileObject fo;

List list = new List();

foreach (var file in fileEntries)

{

FileInfo info = new FileInfo(file);

fo = new FileObject

{

FileName = info.Name, //asdf.txt

FilePath = info.FullName //C:\FilesToWatch\asdf.txt

};

list.Add(fo);

}

return Json(new { filesList = list }, JsonRequestBehaviour.AllowGet);

}

然后,您可以按照以下方式在ajax中读取响应:

$.ajax({

type: "GET",

url: "Home/GetAllFilesFromDirectory",

success: function (resp) {

if(resp.filesList)

{

$.each(function( index, element ) {

console.log(element.FileName ); // i.e log the file name

});

}

},

error: function () {

console.log('error');

},

complete: function (data) {

console.log('complete');

}

});

ajax:从json数组中提取json对象 - javascript

JSON(来自api的内部数组):[{"id":"001", "name":"john", "age":"40"}, {"id":"002", "name":"jane&…停止Ajax循环JQuery - javascript

我使用ajax代码监视文件夹,以计算该文件夹中正在使用我无权访问的外部批处理复制的文件数。我有以下运行良好的无限循环:function loadProgWav(files){ $("#wav").load("progress_wav.php?file==$row[2]?>"); } setInterva…div中显示上一页,并显示最后一页数据表 - javascript

我正在尝试转到div中显示的上一页。由于我在上述div中使用ajax打开页面,因此“历史记录后退”方法将不起作用,因为浏览器中未保存任何历史记录。我敢肯定,除了建立一个可打开较旧页面的链接之外,我还可以做些其他事情(这是我目前正在做的事情)。这就是说,因为我通过单击数据表上的一行从page_1.php移到page_2.php,所以我想知道是否有什么办法可以重…和字符中断通过PHP接收JSON - javascript

我有一个包含更多对象的数组。如果一个对象包含&字符,则php不会接收&之后的每个对象。可能是什么问题?这就是阿贾克斯xmlhttp.open("POST", "get.php"); xmlhttp.setRequestHeader("Content-Type", "application/…如何隐藏您网站的javascript文件? - javascript

我在main.js文件中编写了许多使用ajax调用PHP函数的函数。问题在于,任何人都可以通过查看页面源代码来查看我的逻辑和内部称为php的网站的文件名。我应该如何防止人们查看我的JavaScript文件? 参考方案 可以混淆Javascript,但是没有什么可以阻止客户端执行在代码中查看网址字符串,或者只需检查HTTP请求本身即可确定正在攻击的URL。这加…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值