参数没有在AJAX调用中传递

本文关键字:调用 AJAX 参数 | 更新日期: 2023-09-27 18:18:55

我使用以下代码

function test()
{
   GetAttributesForSelectedControlType('Phone Number');
}
function GetAttributesForSelectedControlType(questionType) {
    alert(questionType);
    $.ajax({
        url: '/Wizards/GetAttributesForSelectedControlType/' + questionType,
        type: "GET",
        contentType: "application/json",
        success: function (result) {
            alert('success');
        }
    });
}

请注意:QUESTIONTYPE是一个字符串值,而不是任何类型。

问题是,在控制器中,我得到一个命中"GetAttributesForSelectedControlType"函数,但参数值是空的。我在questionType中发送字符串。对此有什么想法吗?

参数没有在AJAX调用中传递

function GetAttributesForSelectedControlType(questionType) {
    alert(questionType);
    $.ajax({
        url: '/Wizards/GetAttributesForSelectedControlType',
        contentType: "application/json",
        data: {
            questionType: questionType
        },
        success: function (result) {
            alert('success');
        }
    });
}

如果您希望将问题类型作为参数传递,则应使用data:{qType:questionType},这将填充函数GetAttributesForSelectedControlType

的参数qType。

尝试:

function GetAttributesForSelectedControlType(questionType) {
    $.get('/Wizards/GetAttributesForSelectedControlType', {questionType: questionType })
        .done(function(data) {
            alert('success');
    });
}

您需要将questionType作为数据传入。或者,您可以将以下内容添加到现有的ajax调用中。

data: {questionType: questionType }

这将与以下操作一起工作:

public ActionResult GetAttributesForSelectedControlType(string questionType)
{
    // ...
}