2013-07-18 1 views
0

PhoneGap을 사용하고 있습니다. 여기서는 조작 작업에 jQuery/JavaScript를 사용할 수 있습니다. CakePHP에서 작성한 webservice에 Ajax 요청을하여 id (주소 표시 줄), 위도와 경도 (HTML5 위치 정보)를 전송합니다.jQuery Mobile을 사용하는 동안 크로스 브라우저 문제가 발생했습니다.

이제 문제는 동일한 웹 서비스가 Firefox에서 올바른 데이터를 제공하는 반면 다른 브라우저에서는 동일한 latlong에 "데이터 없음"이라고 표시됩니다.

Ajax 요청에서 crossdomain을 사용했으며 POST 메소드를 사용하고 있습니다.

는 요청 코드

var request= $.ajax({ 
      type: "post", 
      url: 'url', 

      data:{ id: localStorage.getItem("id"), latitude: localStorage.latitude,longitude: localStorage.longitude}, 
      crossDomain: true, 
      dataType: "xml", 
      cache: false 
     }); 
request.done(function (data){ 
//show data 
}); 
request.fail(function (data){ 
alert('error'); 
}); 
+0

이전과 똑같은 스크립트를 사용합니까? 아니면 모바일 검색을 수행하고 반환 스크립트를 적용합니까? 어쩌면 당신은 우리가 도와 줄 수있는 Ajax 코드를 작성할 수 있습니다 –

+0

나는 그다지 전문가가 아니며 귀하의 요점도 잘 알고 있습니다. jquery 모바일을 사용하고 있습니다.이 웹 사이트는 제가 직면 한 문제입니다 –

답변

0

괜찮아요. 오류가있어서 다음 인터넷 검색으로 문제를 해결했습니다. 문제는 크롬에서 특별히 자바 스크립트의 분할 함수였습니다. 정수가 알파벳으로 변환 되었기 때문에 왜이 함수를 사용했는지 알 수 없습니다. 원하는 값 ........

function getUrlVars() { 
         var vars = {}; 
         var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { 
          vars[key] = value; 
         }); 
         return vars; 
        } 
        var first = getUrlVars()["id"]; 

이제 경고 (첫 번째); 정수 값을 제공하고 webservice는 관련 레코드를 값으로 반환합니다.

0

에게 있습니다 thebrowser 당신이 위치 정보 API를 받아 사용하는 경우 그것은 당신을 말할 것이다이 테스트

if(navigator.geolocation) { 
    // API is working 
} else { 
    // no support 
} 

을보십시오.

+0

예 브라우저가 위도와 경도를 절약합니다 –

+0

그래서 우리는 Ajax 요청에 응답해야합니다. 어쩌면 내부에 버그가 있습니다 –

+0

질문 업데이트 –

관련 문제