jquery 如何使用 AJAX 在.net core中调用带参数的onget方法

xyhw6mcr  于 2023-06-29  发布在  jQuery
关注(0)|答案(2)|浏览(141)

我尝试在.net core中 AJAX 调用这个onget方法,但是这个方法没有参数

public void OnGet(string id,string refundReason ,int amount)
        {           
           
        }

我使用了这2 AJAX 调用,但没有传递参数值

$.ajax({
    url: "https://localhost:7197/Transactions/Refund?id="+'20a63762-a6ab-4edb-852b-fd247e9dc247'+"&refundReason="+refundReason+"&amount="+amount,
    type: "GET",              
    dataType: "json",
    traditional: true,
    contentType: "application/json; charset=utf-8",
    success: function (data) {
      debugger;
      
    },
});

这一个alse尝试不传递值到onget方法。有什么需要修改的地方请告诉我。谢谢

$.ajax({
        url: "https://localhost:7197/Transactions/,
        type: "GET",       
        data: JSON.stringify({ id: '20a63762-a6ab-4edb-852b-fd247e9dc247',
                               refundReason:'tt',
                               amount:"1"
                            }),
8gsdolmq

8gsdolmq1#

您应该能够使用$.get调用它并传递查询字符串中的值。GET调用不接受正文数据。

$.get(`https://localhost:7197/Transactions/Refund?id=20a63762-a6ab-4edb-852b-fd247e9dc247&refundReason=${refundReason}&amount=${amount}`, response => {
    ...
});
xggvc2p6

xggvc2p62#

首先,您应该指出如何从客户端获取参数。尝试在参数上使用[FromQuery][FromBody][FromForm]属性。您还需要指定请求方法:[HttpGet][HttpPost]
第二,在您发布的代码中,您从主体和查询字符串发送数据。GET请求在.NET中没有正文,因此您应该从Query发送。
这应该可以工作:

[HttpGet]
public void OnGet([FromQuery]string id, string refundReason, int amount)

在 AJAX 代码中,删除data部分,请确保您为AJAX代码提供了正确的URL参数。
它应该看起来像这样:

$.ajax({
        url: "https://localhost:7197/Transactions?id=someid&refundReason=somevalue&someamount,
        type: "GET"
       })

相关问题