2012-05-09 4 views
0

안녕하신 분은이 시간을 가져 주셔서 감사합니다.Javascript JSON 이스케이프 처리되지 않은 문자로 오류가 발생했습니다.

내가 겪고있는 문제는 JSON이 포맷 된 방식을 제어 할 수 없도록 제 3 자 서비스에서 JSON 반환과 함께하는 것입니다. 나는

function JSONgrabber(Zip,iplocation) 
     { 
      var requestBase ="http://www.someCompany.com/api/request"; 
      var requestData ="iplocate=true&output=json&callback=useJSON"; 

      var request=requestBase+"&&zip="+Zip+"&"+requestData; 
      if(iplocation ==false || iplocation=="false") 
      { 
       request=request.replace("iplocate=true","iplocate=false"); 

      } 
      if (document.getElementById("JSONDataMaster")) 
      { 
       var element = document.getElementById("JSONDataMaster"); 
       element.parentNode.removeChild(element); 
      } 
      try{ 
      var head = document.getElementsByTagName("head").item(0); 
      var script = document.createElement("script"); 
      script.setAttribute("type", "text/javascript"); 
      script.setAttribute("src", request); 
      script.setAttribute("id", "JSONDataMaster"); 
      head.appendChild(script); 
      } 
      catch(err){console.log("Problem loading JSON Data");} 
      } 
     function useJSON(JSONDATA){} 

이 그냥 예상대로하지만 반환

조 식당 같은 것을 가지고 있으며, '이 처리되지 않는 원인 경우에 시간의 99 %를 작동 (중요한 조각 벗었) 다음을 사용하고 있습니다 SyntaxError : 예기치 않은 식별자입니다. 반환하는 동안 발생하므로 콜백 함수를 사용하지 않으므로 바꾸기 등을 통해 해결할 수 없었습니다.

어떤 통찰력이라도 대단히 감사합니다. 나는 외부 라이브러리 (jquery 등)를 사용하지 않으므로 어떤 도움도 순수한 JS (아마 php)가되어야한다.

답변

0

당신이 얻고 자하는 문자열에 특별한 문자가 포함되어 있는지 확인해야한다.

이 도움이 될 수있는 좋은 페이지가 이해하는 것입니다 :

art of the web

를이 문제가 유사합니다

stacko

단일 견적 모든 문자열을 확인하고 탈출 따옴표로 교체하는 경우 :

mystring.replace("'","\\'"); 
+0

당신이 나에게이 경우에는 이렇게하는 방법의 예를 게재 할 수 있습니까? 문자열과 같은 문제가 발생하면 \ n \ t 등의 문제를 해결하기 위해 이스케이프 처리를 수행합니다. 반환하는 동안 오류가 발생하기 때문에 문자열을 평가할 수 없습니다. –

관련 문제