2012-01-02 1 views
0

다음 짧은 jquery 코드가 작동하지 않는 이유를 분석하는 데 도움이 필요합니다. Ajax 호출은 RESTful API를 기반으로하며이 정확한 호출이 작동하는지 확인했습니다. 따라서 백엔드 문제는 없습니다. 나는 여기서 경험이 부족한 프론트 엔드에 관심이있다. 다음은 상당히 간단해야하며, 아약스가 오류를 일으키는 것은 무엇인지 알 수 없다. 노골적으로 잘못된 것이 있습니까? RESTful API와 결합하여 jquery ajax 호출 오류 발생

<head> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $("#submit").click(function() { 
       var data = {}; 
       data["login_name"] = $("#login_name")[0].value; 
       data["password"] = $("#password")[0].value; 

       $.ajax({ 
        type: "POST", 
        url: "https://website.com/a/login", 
        data: data, 
        dataType: "json" 
       }).success(function (data) { 
        $("#output")[0].value = JSON.stringify(data, null, "\t"); 
       }).error(function (a, b, c) { 
        $("#output")[0].value = alert(JSON.stringify(c, null, "\t")); 
       }); 
       $("#output")[0].value = "Sending..."; 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <span class="value"> 
     <input type="text" class="value" id="login_name" style="width:350px" /> 
    </span> 
    <span class="value"> 
     <input type="text" class="value" id="password" style="width:350px" /> 
    </span> 
    <span> 
     <input type="button" id="submit" value="Send Request" /> 
    </span> 
    <textarea id="output" readonly="readonly"></textarea> 
</body> 

내가 뭔가 데이터에 이상이 있다고 의심 만 할 수 있습니다. ....

var data = {}; 

    $("#fields div.entry").each(function(i,elem) { 

     elem = $(elem); 

     data[elem.find("input.field")[0].value]=elem.find("input.value")[0].value; 

    }); 
코드는 상기 데이터를 생성 한 원래의 작업 코드이었다

, I는 그것이 I 작성한 데이터 배열 상이한 방법 보이지 : 일부 기존 코드를 수정하여, 상기 코드를 생성 당신이 게시물에 콘텐츠 형식을 추가 할 수있는 빠른 추측으로

+1

은 페이지와 같은 도메인에있는 API입니다? – rejj

+0

@rejj 아니, 아니야! 나는 단지 그것을 깨달았다. 원본 페이지는 동일한 도메인에 있지 않을 때도 작동하지 않습니다. 이 문제를 어떻게 해결할 수 있습니까? phonegap에서 작업하려면이 코드가 필요합니다. – mugetsu

+0

할 수있는 유일한 방법은 jsonp를 사용하는 것입니다. 서버 측에서는 협력이 필요하지 않습니다. – rejj

답변

0

:

 $.ajax({ 
      type: 'POST', 
      contentType: 'application/json; charset=utf-8', 
      url: 'https://website.com/a/login', 
      data: data, 
      dataType: 'json' 
+0

은 아직 작동하지 않습니다. 나는 오류로 ""얻는다. – mugetsu