Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 将AJAX参数传递给ASP.net控制器时为空值,AJAX调用GET而不是POST控制器_Jquery_Asp.net_Ajax_Asp.net Mvc_Vb.net - Fatal编程技术网

Jquery 将AJAX参数传递给ASP.net控制器时为空值,AJAX调用GET而不是POST控制器

Jquery 将AJAX参数传递给ASP.net控制器时为空值,AJAX调用GET而不是POST控制器,jquery,asp.net,ajax,asp.net-mvc,vb.net,Jquery,Asp.net,Ajax,Asp.net Mvc,Vb.net,我想使用AJAX将一个简单的字符串值传递给我的控制器。AJAX到达控制器,但给它一个空值。另外,如果我在控制器中添加动词,它会给我错误信息 控制器: Public Function SaveSelectedAnswer(ByVal strAnswer As String) As ActionResult Return Content(" OK ") End Function 脚本: var rad = document.frmQuestion.SelectedAnswe

我想使用AJAX将一个简单的字符串值传递给我的控制器。AJAX到达控制器,但给它一个空值。另外,如果我在控制器中添加动词,它会给我错误信息

控制器:

 Public Function SaveSelectedAnswer(ByVal strAnswer As String) As ActionResult

        Return Content(" OK ")

 End Function
脚本:

var rad = document.frmQuestion.SelectedAnswer;

for (var i = 0; i < rad.length; i++) {
    rad[i].onclick = function() {
        SendToController(this.value);
    };
}

function SendToController(answer) {
    $.ajax({
        url: "/Students/SaveSelectedAnswer",
        type: "GET",
        data: answer,
        dataType: "text",
        contentType: "text/plain; charset=utf-8",
        success: function(data) {
            alert("From Controller:" + data);
        },
        error: function() {
            alert("Error");
        }

    });
}

在ajax之前的SendToController中的console.loganswer,看看您得到了什么值?它需要数据:{strAnswer:answer},@Suprabhat,OP正在返回文本-返回内容OK,因此它确实需要数据类型:text@StephenMuecke谢谢,它起作用了:但是,如果我将数据指定为纯文本,为什么我必须使用JSON表示法。它不是JSON,尽管如果您使用JSON.stringify和contentType,它会是:“JSON”。您需要发回一个名称/值对-即strAnswer:someValue作为所有表单值,否则无法匹配任何内容。在您的情况下,“name”部分必须是strAnswer以匹配方法参数的名称