【问题标题】:Ajax call to Asp.net WebApi not works对 Asp.net WebApi 的 Ajax 调用不起作用
【发布时间】:2020-01-02 13:38:46
【问题描述】:

我对 WebApi Asp.Net 进行了最简单的 ajax 调用,但不工作问题未知

我在 StackOverFlow 和其他论坛上尝试了所有解决方案,我什至发现类似的人有类似的问题但没有答案。

<form id="form2">
<div>
    <label for="status">Status</label>
</div>
<div>
    <input id="status1" type="text" />
</div>
<div>
    <input type="submit" value="Submit" />
</div>
<span id="displayText"></span>

html文件

$('#form2').submit(function () {
    $.ajax({
        url: "/api/values/",
        method: "get",
    }).done(function (data) {
        $("#displayText").text(data);
    });
});

ajax 调用

[EnableCors(origins: "*", headers: "*", methods: "*")]
public class ValuesController : ApiController
{

    // GET api/values
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2" };
    }
}

我的控制器

我需要在我该死的 PC 上安装一些东西才能使 ajax 工作吗?

【问题讨论】:

  • 不工作是什么意思?你有什么错误吗?在 Ajax 调用中添加错误处理函数。调试 Web API 代码
  • 您是否查看过浏览器的开发工具,看看是否收到任何错误消息?
  • Chetan Ranpariya,谢谢你的建议,我没想过。

标签: javascript c# jquery ajax asp.net-web-api


【解决方案1】:

问题是因为

[Deprecated] 主线程上的同步 XMLHttpRequest 已被弃用,因为 对最终用户体验的不利影响。

我改变了异步方法

async: true

在ajax调用中

$.ajax({
    url: "/api/values/5",
    method: "get",
    error: function (request, status, error) {
       console.log(alert(request.responseText));
     },
    async: true
}); 

【讨论】:

    猜你喜欢
    • 2015-09-05
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多