Javascript 空数据JSON发送API(AJAX-JQuery Post表单)

Javascript 空数据JSON发送API(AJAX-JQuery Post表单),javascript,jquery,json,ajax,cordova,Javascript,Jquery,Json,Ajax,Cordova,我尝试使用AJAX和JQuery将JSON数据以POST的形式发送到表单中。我使用Chrome模拟Phonegap应用程序 我的代码是: $.ajax({ type: "POST", url: "http://url API", data: {json: JSON.stringify($('#formLogin').serializeJSON())}, timeout: 600000,

我尝试使用AJAX和JQuery将JSON数据以POST的形式发送到表单中。我使用Chrome模拟Phonegap应用程序

我的代码是:

$.ajax({
            type: "POST",
            url: "http://url API",
            data: {json: JSON.stringify($('#formLogin').serializeJSON())},
            timeout: 600000,
            contentType: "application/json",
            success: function(msg) {
                alert("correcto");
            },
            error: function(error) {             
                alert("error");
            }
        });
表格为:

<form id="formLogin">
        <div class="form-group">
            <input type="text" name="login" id="login" value="" placeholder="Usuario" class="form-control elemento_centrado">
        </div>
        <div class="form-group">
            <input type="password" name="password" id="password" value="" placeholder="Contraseña" class="form-control elemento_centrado">
        </div>
        <div class="text-center">
            <button id="btnLogin" class="btn btn-primary" onclick="return submitLogin()">LOGIN</button>
        </div>
        <!-- /formulario de login -->
    </form>

登录
问题在于发送的数据始终为空或空。

API响应总是:“数据”:[],“。但是,如果我使用POSTMAN,数据值为我写入,API响应:“数据”:{“param1”:“value1”,“param2”:“value2”}

完整代码“submitLogin()”:

邮递员回应:

有解决办法吗


谢谢!!!

尝试从帖子中删除json属性,这样您的ajax调用应该如下所示:

$.ajax({
            type: "POST",
            url: "http://url API",
            data: $('#formLogin').serializeJSON(),
            timeout: 600000,
            contentType: "application/json",
            success: function(msg) {
                alert("correcto");
            },
            error: function(error) {             
                alert("error");
            }
        });

我认为问题在于,您正在“json”对象中传递所有内容,而不是将序列化表单作为数据传递,这就是为什么您使用postman时它可能会工作。

能否提供
submitLogin()
的完整代码?这可能取决于反序列化,但我认为您应该忽略“json”“…事情。仅数据:JSON.stringify(…),完整代码submitLogin();服务器端代码是什么?
数据:{json:json.stringify($(''formLogin').serializeJSON())},
过于复杂。删除所有内容,但
数据:
JSON.stringify(…)
@KevinB他在他的原始帖子中使用了它,所以我只是假设它对他可用。哦。。。所以他是。。。必须是某种插件。谢谢,但不起作用。API:“数据”:[],“@Ivan你在邮递员中放了什么使它起作用?@AdamHarris例如:{“姓名”:“约翰”,“地点”:“波士顿”}……API回答:“数据”:{“姓名”:“约翰”,“地点”:“波士顿”}