다른 도메인의 응용 프로그램에서 데이터를 가져와야합니다. 내가 JSONP 사용 트링 해요하지만 때마다 나는 '80020101'여기 JSONP를 사용하여 교차 도메인 아약스 요청
여기public ActionResult Test()
{
return Json(new { foo = "bar", baz = "Blech" }, JsonRequestBehavior.AllowGet);
}
public string Test2()
{
return "aaa";
}
그리고 '다른 도메인'에서 내 코드 (ASP.NET MVC 4)은 오류가 나의 아약스 방법이 무엇인지 요청을 보냅니다.
$.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");
}
});
무엇이 잘못 되었습니까? 이 간단한 예제에서 왜 항상 오류가 있습니까? 나는
수동 테스트 서비스가 데이터
EDIT 1 보내는 것을 보여줍니다 ... 테스트 및 Test2를 데이터에 문제가 있습니다. "작업을 완료 할 수 없습니다 오류 80020101."을 나는 오류가가 아약스 요청의 오류 기능. 다시 안녕 : 나는이
public ActionResult Test2()
{
return Content("<script language='javascript' type='text/javascript'>alert('Hello world!');</script>");
}
같은 Test2를 변경하지만 동일한 문제
Edit2가이 시도! 해결책을 찾았지만 실행 한 후에 문제가 나타납니다.
public ActionResult Test2()
{
return Content("MyMethod('test12345');");
}
그리고 자바 스크립트 코드 :
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 요청 오류 처리기에서 창을 참조하십시오. 또 뭐가 잘못 됐니?
jsonp는 항상 javascript를 반환해야합니까? Like 공용 문자열 Test2() { return "SomeFunction (aaa);"; } – Vitalii
예. http://en.wikipedia.org/wiki/JSONP – user2183861
간단한 자바 스크립트 (Edit1 참조)를 사용했지만 여전히 문제가 있음 – Vitalii