1
我似乎无法用我的jsonp调用打我的webmethod ...我做错了什么?相反,我得到以下错误..请参阅下面的方法从jsonp不能呼叫web服务
XMLHttpRequest无法加载http://askia.service.local/AskiaService.asmx/Login。请求的资源上没有“Access-Control-Allow-Origin”标题。因此不允许访问原产地'http://askia.web.local'。
Web服务调用
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public User Login(string username, string password)
{
User userLoggedIn;
if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
{
throw new Exception("username or/and password is not supplied");
}
try
{
var dataAccess = new DataAccess(ConnectionString);
userLoggedIn = new User(dataAccess.Login(username, password));
}
catch (Exception exception)
{
throw exception;
}
return userLoggedIn;
}
JSONP
function AddTaskList(taskListTitle) {
var jsonDataObject = JSON.stringify({
'username': 'username',
'password': 'password'
});
$.ajax({
url: "http://askia.service.local/AskiaService.asmx/Login",
contentType: "application/json; charset=utf-8",
type: "POST",
dataType: "json",
data: jsonDataObject,
success: function (response) {
console.log(response);
}
});
alert('task list added');
}
数据类型真的是'jsonp'吗?我认真地怀疑...把它改成'json'并看看? –
我已更新我的代码,现在我收到此错误。 XMLHttpRequest无法加载http://askia.service.local/AskiaService.asmx/Login。请求的资源上没有“Access-Control-Allow-Origin”标题。因此Origin'http://askia.web.local'是不允许访问的。 @AkashRajbanshi –
您是否启用Cors? –