您的呼叫正在呼叫您的服务,但它忽略了它的响应。假设您有一个名为 'query' 的自定义 API(因为它是您传递给invokeApi
的内容),其正文如下:
exports.post = function(request, response) {
response.send(200, { message: 'Hello world' });
};
您的客户端代码正在调用它并(如果一切正常)接收响应,但它没有做任何事情。有几种方法可以确定是否正在拨打电话。例如,您可以在 API 中添加日志条目并检查服务中的日志:
exports.post = function(request, response) {
console.log('The API was called');
response.send(200, { message: 'Hello world' });
};
或者您可以使用网络工具(例如浏览器开发人员工具或 Fiddler)来查看是否正在发出请求。或者您实际上可以在客户端对结果做一些事情:
var client = new WindowsAzure.MobileServiceClient('http://myservice.azure-mobile.net/', 'mykey');
client.invokeApi('query', {
method: 'POST'
}).done(
function(result) { alert('Result: ' + JSON.stringify(result)); },
function(error) { alert('Error: ' + error); }
);
如果您从浏览器调用 API,您需要查看的一件事是加载页面的域是否在“允许来自主机名的请求”列表中,在“配置”选项卡下,“交叉-origin 资源共享 (cors) 部分。如果不是,那么您可能会收到错误而不是您想要的响应。