我需要在我的应用程序中从其他域获取数据。我正在尝试使用 jsonp,但每次出现错误“80020101”时
这是我在“其他域”的代码(ASP.NET MVC 4)
public ActionResult Test()
{
return Json(new { foo = "bar", baz = "Blech" }, JsonRequestBehavior.AllowGet);
}
public string Test2()
{
return "aaa";
}
这是我发送请求的ajax方法
$.ajax({
url: 'https://192.168.0.61/CryptoProTestTool/Home/Test2/',
type: 'GET',
dataType: 'jsonp',
error: function(xhr, status, error) {
alert("error");
},
success: function(json) {
alert("success");
}
});
怎么了?为什么我在这个简单的例子中总是出错?我对 Test 和 Test2 数据有疑问...
手动测试显示服务发送数据
编辑 1:我有一个错误“无法完成操作。错误 80020101。” 在 ajax 请求的错误函数中。我试图像这样改变 Test2
public ActionResult Test2()
{
return Content("<script language='javascript' type='text/javascript'>alert('Hello world!');</script>");
}
但是有同样的问题
编辑2: 再次嗨!我被告知工作解决方案,但在我运行它后出现问题。
public ActionResult Test2()
{
return Content("MyMethod('test12345');");
}
和Javascript代码:
function onPageLoad() {
CheckCryptoProAvailable();
}
function CheckCryptoProAvailable() {
$.ajax({
url: 'https://192.168.0.61/CryptoProTestTool/Home/Test2/',
type: 'GET',
dataType: "jsonp",
error: function(xhr, status, error) {
alert("error = " + error.toString());
},
success: function(json) {
}
});
}
function MyMethod(testValue){
alert(testValue);
}
一切正常,请求后调用 MyMethod。但在它之后,我看到一个来自 ajax 请求错误处理程序的窗口。又怎么了?