我尝试使用AJAX和JQuery以表格形式发送带有POST的JSON数据。我使用Chrome模拟Phonegap App。
我的代码JS是:
$.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响应始终:“data”:[],“。但是,如果我使用POSTMAN,我会为数据值写入,API响应:”data“:{”param1 “:” VALUE1" , “参数2”: “VALUE2”}
完整代码“submitLogin()”:https://pastebin.com/raw/eFcK458m
POSTMAN回复:postman response
任何解决方案?
感谢!!!
答案 0 :(得分:0)
尝试从帖子中删除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&#39;对象而不是仅仅传递序列化的表单作为数据,这就是为什么它在你使用邮递员时可能正常工作的原因。