新的自定义API脚本允许通过任何类型的连接进行大量自定义。
我发现Azure移动服务–客户端SDK中的此网站自定义API描述了自定义API。
var client = new WindowsAzure.MobileServiceClient('http://myservice.azure-mobile.net/', 'mykey');
client.invokeApi('query', {
method: 'POST'
});
但是我无法运行此代码。它应该显示一条消息“ Hello post World!”。我将代码放在HTML文件中的标记内,然后运行它,但是没有任何反应。
有什么帮助吗?
您所拨打的电话正在呼叫您的服务,但忽略了其响应。假设您有一个名为“ 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,则需要查看的一件事是,页面的加载域是否位于“配置”标签下“跨主机”的“允许来自主机名的请求”列表中-起源资源共享(cors)”部分。如果不是,那么您可能会收到错误而不是想要的响应。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句