2012-05-23 4 views
0

웹 서비스에서 Json 객체를 가져와야하고 이에 대한 문서를 찾을 수 없습니다. 나는 그것을 얻으려면 SQL 문장을 게시 할 수있다. 이 모든 것이 가능하면 누구나 아는가?Javascript를 사용하여 웹 서비스에서 Json 객체를 가져 오는 방법은 무엇입니까?

답장을 보내 주셔서 감사합니다. 처음에는 웹 서비스에 GetJsonString "metod"가 있습니다. 는 임이 코드를 시도 :

$(document).ready(function() { 
$.ajax({ 
    type: 'Get', 
    url: 'http:********************************.asmx?op=GetJSONString', 
    success: function(returnedJson) { 
     alert(returnedJson) 
    } 
    }); 

});

나는이 오류 얻을 :

XMLHttpRequest cannot load http:/***********asmx?op=GetJSONString. Origin null is not allowed by Access-Control-Allow-Origin. 

답변

1

당신은 RPC (원격 프로세스 호출)와

$.ajax({ 
    type: 'POST', 
    url: "http://www....", 
    method: "serverCallback", 
    data: "SELECT ....", 
    success: success, 
    dataType: dataType 
}); 

과정이처럼 POST 요청의 매개 변수로 SQL을 보낼 수있는 전송 상상 콜백은 매개 변수로 다시 가져옵니다. 단점은 입니다. 웹 응용 프로그램에서 원시 SQL 쿼리를 보내는 것이 매우 위험하므로 SQL 주입 공격의 쉬운 대상입니다.

쿼리 자체를 보내는 대신 데이터베이스에서 쿼리를 실행할 매개 변수를 보낼 수 있다면 더 좋을 것입니다.

+0

하지만 반환 된 데이터를 어떻게 얻을 수 있습니까? 이거? Thanks – Mikelon85

+1

json struct {name : "john", lastname : "doe"}의 경우 다음을 할 수 있습니다. function success (data) {console.log (data.name, data.lastname); } –

1

확인이 : http://www.json.org/js.html

To convert a JSON text into an object, you can use the eval() function. eval() invokes the JavaScript compiler. Since JSON is a proper subset of JavaScript, the compiler will correctly parse the text and produce an object structure. The text must be wrapped in parens to avoid tripping on an ambiguity in JavaScript's syntax.

var myObject = eval('(' + myJSONtext + ')');

myJSONtext입니다

것은 당신이 jQuery를 사용하는 경우 웹 서비스의 반환 값,이 게시물을 좋은 답변입니다 : Calling a web service in JQuery and assign returned Json to JS variable

+0

그러나 어떻게 "웹 서비스의 반환 값"을 얻을 수 있습니까? – Mikelon85

+0

마지막 링크는 jQuery를 사용하여 메소드를 제공합니다. 그러나 Aaron이 말했듯이 웹 서비스가 {name : 'Jony', titles : [{name : 'A'}, {name : 'B'}}}와 같은 JSON 스타일로 문자열을 반환하도록해야합니다. – Jony

+0

success : function (data) { // 데이터는 나중에 처리 할 객체입니다. } 매개 변수 "data"는 "myJSONtext"입니다. – Jony

1

가능하지만 d 몇 가지 요소가 있습니다 :

  1. 웹 서비스는 무엇을 반환합니까? 표준 웹 서비스는 JSON이 아닌 XML을 반환합니다. 따라서 XML을 직접 파싱하거나 JSON으로 변환해야합니다.
  2. 웹 서비스에 SQL을 보내는 것은 보안 상 매우 위험합니다. JSON 과 성공 결과를 팩, 누군가가 DELETE FROM important_table
관련 문제