gpt4 book ai didi

javascript - 发送数据到 WebAPI (C#) GET 请求 Ajax 调用

转载 作者:行者123 更新时间:2023-12-03 05:16:33 25 4
gpt4 key购买 nike

我想使用html来获取WebApi ReturnValue。 (类型:Get、数据类型:Jsonp)

现在当我直接执行WebApi时,可以得到ReturnValue“2”(表示执行成功)。

但是当通过 html + Jquery + ajax 时,它总是显示错误函数信息。 enter image description here

我如何解决这个问题,谢谢。

-------------代码-------------

API模型:

 public class LoginModel
{
public int Userno { get; set; }
public List<Second> LoginSecond { get; set; }
}
public class Second
{
public string testinfo01 { get; set; }
public string testinfo02 { get; set; }
public List<Third> Third { get; set; }
}

public class Third
{
public string finValue { get; set; }
}

API Controller :

 [HttpGet]
public string Get(string id, string id1) //id=Account,id1=password
{
string conn = ConfigurationManager.ConnectionStrings["testconn"].ConnectionString;
string Dictionary = Login.Login(id, id1).ToString();
return Dictionary;
}

HTML:

<div class="form" id="form"> 
<form class="login-form" method="get">
<input type="text" id="inpAcc" placeholder="Acc"/>
<input type="password" id="inpPwd" placeholder="pwd"/>
<input id="loginbtn" type="button" value="login"></input>
<input id="data" type="label" />
</form>
</div>

jquery + ajax:

<script type="text/javascript" >
$(document).ready(function() {
$(document).on('click', '#loginbtn',function(){
var username = $("input#inpAcc").val();
var password = $("input#inpPwd").val();
alert(username);
var APIurl = "localhost:10733/Api/Login/";
$.ajax({
type: "get",
dataType: 'jsonp',
username:username,
password:password,
url: APIurl +"/"+username+"/"+password,
async: false,
headers: { "cache-control": "no-cache" },
contentType: 'application/json; charset=utf-8',

data :function (data)
{
var returnvalue = data[0].request();
console.log(data.stat);
console.log(data.status);
console.log(data.message);
console.log(data.html);
alert(returnvalue);
},
error: function(request, status, error) {

console.log(request.stat);
console.log(request.status);
console.log(request.message);
console.log(request.html);
alert(request.responseText);
},
success: function(data) {
console.log(data.stat);
console.log(data.status);
console.log(data.message);
console.log(data.html);
alert(data);
}
});
});
});
</script>

最佳答案

请检查您的来源。删除路由配置,如下所示源包含内联路由配置。

[RoutePrefix("api/Login")]
public class LoginController : ApiController
{
[HttpGet]
[Route("Get/{id}/{id1?}")]
public string Get(string id, string id1 = null) //id=Account,id1=password
{
return "Working";
}
}

要调用上面的 api,您的 url 应该类似于

http://localhost:11299/api/login/Get/id/id1/

上面的id1是可选的

关于javascript - 发送数据到 WebAPI (C#) GET 请求 Ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41581782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com