我正在使用Phonegap创建一个Android移动应用程序,所以我决定使用jQuery mobile。服务器端将由node.js应用程序处理。
在客户端,我让javascript发送POST请求:
function validate() {
//alert($('#username').val());
var uname = $('#username').val() ;
var pword = $('#password').val() ;
$.ajax({
type : "POST",
dataType: "jsonp",
jsonpCallback: "responding",
url : "http://localhost:8888/authenticate",
data : { username: uname , password : pword },
success : function(data) {
alert(data);
},
error : function(jqXHR, textStatus, errorThrown) {
alert("Error, status = " + textStatus + ", " + "error thrown: " + errorThrown);
}
});
}
在服务器端,节点使用
获取它function authenticate(request, response) {
console.log("Request handler 'upload' was called.");
console.log(request);
response.writeHead(200, {
"Content-Type" : "text/plain"
});
response.write('responding(\'{"message": "Dummy Reply!"}\')');
response.end();
}
当我看到console.log(请求)时,你可以看到,在控制台中,还有很多东西,我得到了这个......
url:'/ authenticate?callback = respond& username = foo& password = bar& _ = 1388071403212', 方法:'GET',
当POST方法到达服务器时,它是如何成为GET方法的?
您也可以告诉我如何在节点侧的POST请求中获取参数。
答案 0 :(得分:1)
您无法POST
JSONP
次请求。
type : "POST",
dataType: "jsonp",
JSONP
请求几乎总是GET
(jQuery只是将一个<script>
)标记添加到DOM中(对于同域请求可能存在一些异常)