javascript - 为什么 Parse.Query 总是成功,即使不成功?

标签 javascript curl parse-platform

在 parse.com 云代码中,我有一个非常简单的函数“IsNameAlreadyTaken”,但无论我传递什么“用户名”,总是会执行“成功”。这是为什么?

Parse.Cloud.define("IsNameAlreadyTaken", function(request, response) {
    Parse.Cloud.useMasterKey();
    var query = new Parse.Query(Parse.User);
    console.error("Please log request.params.username: " + request.params.username + "<++++");
    query.equalTo("username", request.params.username);
    query.first({
        success: function(user) {
            response.success("user was found." + user);
        },
        error: function(error) {
            response.error("Could not find user." + error);
        }
    });
});

这里我使用已使用的用户名进行测试:

curl -X POST \
-H "X-Parse-Application-Id: uOXz....rPt" \
-H "X-Parse-REST-API-Key: GAv...SmK" \
-H "Content-Type: application/json" \
-d '{"username": "UsernameAlreadyTaken"}' \
https://api.parse.com/1/functions/IsNameAlreadyTaken

响应很好:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100       34 --:--:-- --:--:-- --:--:--    68{"result":"user was found. [object Object]"}

问题在于,确切的行为是当用户名不存在时:

curl -X POST \
-H "X-Parse-Application-Id: uOXz....rPt" \
-H "X-Parse-REST-API-Key: GAv...SmK" \
-H "Content-Type: application/json" \
-d '{"username": "nonExistedUsername"}' \
https://api.parse.com/1/functions/IsNameAlreadyTaken

并且响应是相同的:WTF!!!

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  100         61 --:--:-- --:--:-- --:--:--   105{"result":"user was found. undefined"}

知道发生了什么吗?这是 Parse.com 中的错误吗?

最佳答案

疯狂猜测:我认为当 user 不存在时,你会得到 user === undefined 信息(如果存在,你会得到 user 对象),这样你就有了你需要的信息。

error: 仅当连接失败或类似情况时才可能调用回调。在 JavaScript 中的许多情况下,这是一种标准处理。

关于javascript - 为什么 Parse.Query 总是成功,即使不成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34839120/

相关文章:

javascript - Angularjs 项目中注入(inject)未知提供者

php - 使用 cURL 针对 PHP 进行 C++ 身份验证

rest - 通过Curl的OpenId

swift - 使用其他关注用户的用户名填充表

javascript - 解析云代码保存关系

javascript - clientWidth 和 clientHeight 对于 ie7 总是返回零

javascript - 如何在N秒后隐藏div?

javascript - 带字幕的多图像文件上传

php - 与支付网关API交互时出现401

java - Android:如何将查询与来自 Parse.com 的 Bolt 同步?