jquery到node:POST看作是GET

我正在用Phonegap创build一个android移动应用程序,所以我决定使用jQuery手机。 服务器端由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请求中的参数。

您无法发布JSONP请求。

 type : "POST", dataType: "jsonp", 

JSONP请求几乎总是GET (jQuery简单地附加一个<script> )标记到DOM)(对于同域请求可能有一些例外)