我正在使用ASP MVC,而我正试图调用另一个MVC网站上的服务。
我正在尝试使用以下Ajax调用。
function SomeFunction(decision) {
if (decision == false)
decision = "no";
else
decision = "yes";
var input = {
LogEventType:"PageView",
CurrentPage: "invitation/?decision=" + decision + "&id=" + 32323,
};
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "https://somewebsite.com/api/ClickStream/LogWebEvent/",
data: JSON.stringify(input),
crossDomain: true,
dataType: 'jsonp',
headers: {
'Access-Control-Allow-Origin': '*'
},
success: function (data) {
alert("We're awesome")
},
error: function () { console.log("Call to SomeFunction failed.") }
});
}
我没有得到任何可见的错误,我也在服务和ajax调用的成功/错误函数内部放置了断点,但它从未到达任何一个。
有人看到我搞砸了吗?
编辑: 这是我正在尝试访问的Web Apis功能
[ActionName("LogWebEvent")]
[HttpPost]
public void LogWebEvent(ClickStreamEventDto data)
{
try
{
_clickstreamLogger.LogWebEvent(data);
}
catch (Exception ex)
{
}
}
ClickStreamEventDto在哪里
public class ClickStreamEventDto: Analytics.IAnalyticEventDto
{
public string LogEventType { get; set; }
public string CurrentPage { get; set; }
}
答案 0 :(得分:0)
使用CORS或JSONP访问跨域网站时,请确保它们既是HTTP又是HTTPS。
确保在涉及HTTPS时,已接受两个站点的证书。您可能需要在另一个窗口中点击HTTPS站点,如果与发行者没有信任关系,则接受证书。