我想在我的azure mobile services api get方法中创建一个jquery ajax帖子。也就是说,就像我在下面的那样。也就是说,我希望GET方法返回从我的ajax POST结果返回内容的数据。
我不会这么做。
exports.get = function(request, response) {
$.ajax({
type: "POST",
url: url,
data: data,
success: function(x) { return MYLIST },
dataType: dataType
});
response.send(statusCodes.OK, { message : 'Hello World!' });
};
更新:
Per Carlos Post:http://blogs.msdn.com/b/carlosfigueira/archive/2013/12/12/expanded-login-scopes-in-azure-mobile-services.aspx我现在明白了exports.get代码应该位于azure移动服务的API部分。当我将该代码放入该部分时,我在jquery调用的失败事件中得到一个内部错误,500。我的警报确实显示我已成功登录谷歌。
var client = new WindowsAzure.MobileServiceClient('https://svcc.azure-mobile.net/', val);
$(document).ready(function () {
$("#submit1").click(function () {
client.login("google").done(function (results) {
alert("You are now logged in as google: " + results.userId);
$.ajax({
url: "http://xxxxx.azure-mobile.net/api/test1",
success: function (data, textStatus) {
debugger;
//data - response from server
},
error: function (jqXHR, textStatus, errorThrown) {
debugger;
}
});
}, function (err) {
alert("Error: " + err);
});
});
答案 0 :(得分:0)
您应该使用一些node.js模块,它允许您发出HTTP请求。最简单的是'request' module,您可以require
在服务器脚本上使用它来发出请求。例如,此代码应该执行您想要的操作:
exports.get = function(request, response) {
var req = require('request');
req({
url: url,
method: 'POST',
body: JSON.stringify({ theBody: [ 'hello', 'world' ]}),
headers: { "Content-Type": "application/json" }
}, function(err, result) {
response.send(statusCodes.OK, result);
}
}