3

カスタム API から GET メソッドでいくつかのパラメーターを読み取ろうとしていますが、Azure Mobile Services は常に次のエラーを返します。

スクリプト '/api/customapi.js' でエラーが発生しました。TypeError: C:\DWASFiles\Sites\XXXXXXXXX-android\VirtualDirectory0\site\wwwroot\App_Data\config\scripts\api\customapi.js:17:49 で未定義のプロパティ 'lat' を読み取れません [外部コード]

要求された URL は次のようになります: https://XXXXXXXXXX-android.azure-mobile.net/api/customapi?lat=-19&lng=-43

exports.post = function(request, response) {
    // Use "request.service" to access features of your mobile service, e.g.:
    //   var tables = request.service.tables;
    //   var push = request.service.push;

    response.send(statusCodes.OK, { message : 'Hello World!' });
};

exports.get = function(request, response) {
    if (request.parameters !== null) {

        var req = require("request");
        console.log("lat: " + request.parameters.lat);
        console.log("lng: " + request.parameters.lng);

    }
};
4

1 に答える 1

4

カスタム API では、渡されるパラメータは、で使用されるリクエスト オブジェクトrequestと同じプロパティを持ちます。クエリ文字列にアクセスするには、次を使用します。express.jsrequest.query

exports.get = function(request, response) {
    var httpReq = require("request");
    var lat = request.query.lat; // the type of the variable is a string; use something like parseFloat if you want it as a number
    var lng = request.query.lng;
    response.send(200, { lat: lat, lng: lng });
};
于 2013-09-13T14:10:15.480 に答える