로 컬 페이지 에서 $. ajax 를 사용 하여 도 메 인 을 넘 어 웹 서비스 인터페이스 에 접근 하 는 문제
3702 단어 JAVA 학습 노트javawebHTML&JavaScript
첫 번 째 예:
$.ajax({
type: 'GET',
url: 'http://www.pm25.in/api/querys/aqi_details.json?city=wenzhou&token=',
dataType: 'jsonp',
success: function(msg){
alert(JSON.stringify(msg));
},
error:function(){
alert('error');
}
});
응답 데 이 터 를 성공 적 으로 출력 하기;
두 번 째 예:
$.ajax({
type: 'GET',
url: "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName?theCityName= ",
dataType: 'jsonp',
success: function(msg){
alert('success');
},
error:function(XMLHttpRequest, textStatus, errorThrown){
alert('error');
}
});
출력 error.그러나 구 글 브 라 우 저의 디 버 깅 인터페이스 에서 다음 과 같은 화면 을 볼 수 있다.
응답 에 필요 한 데이터 가 포함 되 어 있 음 을 증명 합 니 다.문제 분석: dataType: 'jsonp', 되 돌아 오 는 데이터 형식 은 xml 입 니 다. 이것 은 실패 의 원인 일 수 있 습 니 다.그런데 왜 응답 에 필요 한 데이터 가 있 습 니까?이 데이터 들 은 어떻게 꺼 냅 니까?
질문 보충:
error 의 리 셋 함수 에서 textStatus 는 parsererror 이 고 error Thrown 은 리 셋 함수 가 실행 되 지 않 았 으 며 해석 이상 으로 확인 할 수 있 습 니 다.jsonp 에서 xml 데 이 터 를 처리 할 수 없 지 않 습 니까?
response 에 필요 한 데이터 가 있 으 니 추출 할 방법 이 있 겠 지?도대체 어떻게 찾 아야 하나 요?
function jsonpCallback(result) {//
alert(result.msg);
$("ws1").remove();//
}
$(function () {
$.fn.getWS({ id: 'ws1', url: 'http://host:prot/ser.asmx/method', Callback: "jsonpCallback" });
});
/ / 서버 에서 실행 해 야 할 동작 예제:
//[WebMethod]
public string method1()
{
string str = "{\"msg\":\" \"}";
if (HttpContext.Current.Request["jsonp"] != null)// JSONP
{
HttpRequest Request = HttpContext.Current.Request;
HttpResponse Response = HttpContext.Current.Response;
string callback = Request["jsonp"];
Response.Write(callback + "(" + str + ")");
Response.End();// ,
}
return str;
}
(function ($) {
// DOM , Value,Item val
$.fn.getWS = function (options) {
var defaults = {
id: "",
url: "",
Callback: ""
}
var options = $.extend(defaults, options);
var oHead = document.getElementsByTagName('HEAD').item(0);
var oScript = document.createElement("script");
oScript.type = "text/javascript";
oScript.setAttribute("id", options.id);
oScript.src = options.url + "?jsonp=" + options.Callback;
oHead.appendChild(oScript);
}
})(jQuery);
간단 한 호출 방법, Jquery 원본 방법:
$.ajax({
type: "get",
url: "http://localhost:17180/Service1.asmx/method1",
dataType: "jsonp",
jsonp: "jsonp", // , jsonp ( :callback)
jsonpCallback: "jsonpCallback", // jsonp , jQuery
contentType: "application/json; charset=utf-8",
success: function (json) {
alert(json.msg);
},
error: function () {
debugger;
alert('fail');
}
});
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정규 표현 식 (? = pattern) (?! pattern) (?: pattern) 의 이해pattern) 은 같은 종류 에 속 하 며 정규 표현 식 에 서 는 환시 라 고 합 니 다.'둘 러 보기' 라 는 단 어 는 말 그대로 '주변 환경' 을 확정 하 는 것 이다.둘 러 보 니 모두 네 가지 가 있다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.