Ajax 调用未发生且没有错误传递多个参数

Ajax call not happening with no errors passing multiple parameters

我正在尝试进行 ajax 调用,它通过 JQUERY 传递 4 个参数。它没有发生,也没有给出任何 error. onsuccess 输出值。我想填写 2 个文本框值,如下所示。

客户端:

函数 doCalculation() {

        var obj = {};
        obj.apple = $("#ddlapple :selected").text();
        obj.banana = $("#ddlbanana :selected").text();
        obj.chocolate = parseFloat($("#txtchocolate").val().toString()).toFixed(2);
        obj.doll = parseFloat($("#txtdoll").val().toString()).toFixed(2);

        if (obj.chocolate > 0 && obj.doll > 0) {

            $.ajax({
                type: "POST",
                url: "xxxxxxxxxxxxxxx.aspx/Calculation",
                data: JSON.stringify(obj),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: OnSuccess,
                failure: function (response) {
                    alert(response.d);
                }
            });
        }
    }

成功后,我想用如下所示的输出参数填充两个文本框值

    function OnSuccess(response) {
        var outputparams = response.d;
        $("#txtbox1").val(outputparams.abc);
        $("#txtbox2").val(outputparams.xyz)
    }

VB.NET代码:

_ Public 共享函数计算(ByVal apple As String, ByVal banana As String, ByVal chocolate As Decimal, ByVal doll As Decimal) As ClassParams

{

// 这里有些计算

}

Public Class Class参数

Public Property abc() As Decimal
Public Property xyz() As Decimal

结束Class

提前致谢:)

jquery ajax 中没有 'failure' 选项。将失败替换为 'error' 并检查。

以后为其他人发布答案。我用了很多方法,但只有这个对我有用。

function doCalculation() {
var obj = {};
        obj.apple = $("#ddlapple :selected").text();
        obj.banana = $("#ddlbanana :selected").text();
        obj.chocolate = parseFloat($("#txtchocolate").val().toString()).toFixed(2);
        obj.doll = parseFloat($("#txtdoll").val().toString()).toFixed(2);

        if (obj.chocolate > 0 && obj.doll > 0) {

            $.ajax({
                type: "POST",
                url: "xxxxxxxxxxxxxxx.aspx/Calculation",
                data: JSON.stringify(obj),
                contentType: "application/json; charset=utf-8",
                data: '{"apple":"' + obj.apple + '","banana":"' + obj.banana + '","chocolate ":"' + obj.chocolate + '","doll":"' + obj.doll + '"}',
                success: OnSuccess,
                error: function (response) {
                    alert(response.d);
                }
            });
        }
    }




function OnSuccess(response) {
        var outputparams = response.d;
        $("#txtbox1").val(outputparams.abc);
        $("#txtbox2").val(outputparams.xyz)
    }

VB.NET代码:

将输出参数作为 class 对象返回,并在 Jquery 的客户端使用它以用该值填充文本框

<System.Web.Services.WebMethod()> _

Public Shared Function Calculation(ByVal apple As String, ByVal banana As String, ByVal chocolate As Decimal, ByVal doll As Decimal) As ClassParams

{

     // some calculation here

}

Public Class ClassParams

Public Property abc() As Decimal
Public Property xyz() As Decimal

End Class