我寫的PhoneGap的 服務器端應用程序,我寫的的NodeJS抓響應時發送JSONP請求的PhoneGap
exports.login = function(request, response) {
var keys = Object.keys(request.query);
request.body= JSON.parse(keys[1]);
Accounts.findOne({
name : request.body.name
}, function(err, docs) {
if (!docs) {
response.json('{"error": "user-not-found"}');
} else {
console.log("docs: ", docs);
Accounts.validatePassword(request.body.password, docs['hashedPass'], docs['salt'], function(error, res) {
if (error) {
response.json(error);
}
if (res) {
generateToken(request.body.name, request.body.device, function(res) {
if (res) {
response.json('{"token": "' + res + '"}');
} else {
response.json('{"error": "cant-create-token"}');
}
});
} else {
response.json('{"error": "invalid-password"}');
}
});
}
})
}
的PhoneGap:我寫功能登錄
function LoginUser(info)
{
var varUrl=server+"/auth/login";
$.ajax({
url:varUrl,
type:"GET",
contentType:"application/json",
headers: {
Accept:"application/json",
"Access-Control-Allow-Origin": "*"
},
data:info,
dataType:"jsonp",
success:function(data)
{
console.log("HERE");
console.log(data);
},
error: function(err){
console.log(err);
}
});
}
,我要求它會喜歡這個http://localhost:3000/auth/login?callback=jQuery161014894121675752103_1361459462241&{%22name%22:%22fdfdfd%22,%22password%22:%22fdfdfdfd%22}&_=1361459615743
當我看到在鉻的開發者標籤網絡的響應是"{\"error\": \"user-not-found\"}"
,但我不能趕上上述 這repsonse在function LoginUser(info)
如何獲得它,因爲在控制檯它打印error: function(err){ console.log(err); }
我不知道爲什麼。 你能幫助我嗎?
爲什麼你使用GET請求,你應該使用POST進行登錄。 – dfsq 2013-02-21 15:22:11
我試過get和post並得到上面的同樣的問題 – giaosudau 2013-02-21 15:26:38
jsonp總是一個get請求。 – 2013-02-21 15:48:48