我试图在我的Azure移动服务客户端上的自定义api控制器上调用方法。
如果我在浏览器中点击路径,则返回数据就好了。当我尝试从我的应用程序调用它时,我收到以下错误
" Newtonsoft.Json.JsonReaderException:读取字符串时出错。意外的令牌:StartObject。路径'',第1行,第1位。"
public async Task<string> AuthUser (string email, string pass)
{
var id = await client.InvokeApiAsync<string>(
"Login/AuthUser",
System.Net.Http.HttpMethod.Get,
new Dictionary<string, string>() {
{"emailAddress", email },
{"password",pass }
}
);
if (id != null)
{
return id.ToString();
}
else
{
return "";
}
}
这是我打电话的控制器
using System.Linq;
using System.Web.Http;
using System.Web.Http.Description;
using MyAppService.DataObjects;
using MyAppService.Models;
using Microsoft.Azure.Mobile.Server.Config;
namespace MyAppService.Controllers
{
[MobileAppController]
public class LoginController : ApiController
{
private MyAppContext db = new MyAppContext ();
[HttpGet]
[ActionName("AuthUser")]
public IHttpActionResult Login(string emailAddress, string password)
{
var login = db.Members.FirstOrDefault(m => m.Email == emailAddress && m.Password == password);
if (login != null)
{
return Ok(new {Id = login.Id });
}
else
{
return Unauthorized();
}
}
}
}
编辑:问题是来自控制器的返回类型。将其更改为字符串,它工作。
答案 0 :(得分:0)
问题是来自控制器的返回类型。将其更改为字符串并且工作正常