2017-04-15 1 views
0

이 문제가 있습니다. AngularJS로 작성된 식료품 목록 항목 앱을 가지고 있습니다. JSON 형식으로 작성된 로컬 파일에 대한 AJAX 요청을 통해 서버 연결을 나타냈다. 내가 할 수없는 경우를 참조로

groceryService.save = function(entry){ 

     var updatedItem = groceryService.findById(entry.id); 
     //We update the existing item 
     if(updatedItem){ 


      $http.post("data/updated_status.json", entry) 

       .success(function(data){ 

        //HERE IS PROBLEM ------------------- 
        if(data.status == 1){ 
        //END OF PROBLEM -------------------- 

        updatedItem.completed = entry.completed; 
        updatedItem.itemName = entry.itemName; 
        updatedItem.date = entry.date; 
        } 
      }) 

       .error(function(data,status){ 

      }); 
    //We creating new item 
    else{ 

    } 

:

[{ 
    "status": 1 
}] 

내가 코드를 작성하여이 상태의 값을 수신하려고 :

나는 예를 들어 나에게 가짜 serwer 상태를 반환 한 파일이 이 상태 값에 액세스하고 이유를 모르겠습니다. Chrome 브라우저에서 오류 코드가 표시되지 않습니다. 외관상으로 AngularJS는이 JSON 데이터를 다른 형식으로 액세스해야하는 변경된 형식으로 되돌려 보내야하지만, 어떻게해야합니까?

저는 AngularJS가 int에서 string으로 값 1을 파싱한다고 생각했지만 작게 만들었고 실패했습니다.

나는 나의 서비스 지침에 코스 $ HTTP 서비스의 연결 :

app.service("GroceryService", function($http){ 

내가 XAMPP 로컬 서버에 내 파일을 실행합니다.

누군가이 문제를 해결할 수 있다면 큰 도움이 될 것입니다.

미리 감사드립니다.

EDITED : -------------------------------------------

문제는 $ http.post() AngularJS 메서드에서 발견되었습니다. get() 메소드를 사용하기 위해 코드를 바꿀 때 모든 것이 잘 작동한다.

$ http.post()를 트리거 할 때 크롬 브라우저에서 404 오류가 발생합니다. 내 코드는 다음과 같습니다

$http.post('data/ai.json', entry) 

그리고이 :

$http.post('data/update_status.json', entry) 

갈증이 나는 그래서 ai.json 그것을 변경하지만이 문제가되지 않습니다 파일 이름에 실수를 생각했다. 내가 어디에 문제가 될지 모르겠다, 나는 괄호 IDE를 사용하고 옵션을 브라우저에서 작성된 코드의 미리보기가 있습니다. 이것을하기 위해 약간의 옷을 입는다.

크롬의 오류 404에 대한 내 스크린 파일 및 스크린 샷의 스크린 샷도 첨부합니다.

아직도이 문제를 해결하는 데 도움이 필요합니다. 미리 감사드립니다 :-).

$http.post("data/update_status.json", entry, { 
    headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'} 
    }) 

하지만 내 코드에서 구현과 같은 오류 (404) 결과를 얻었다 :

Directory of files. In data folder are all my .json files

Error 404 from Chrome when I click save button.

솔루션을 인터넷에서 검색하는 동안 나는이 하나를 발견했다. 나는 약간의 도움을 원합니다 :-).

EDITED -------------------------------------------

안녕

나는이 오류 문제를 해결하지 못했습니다. tutorialspoint에 코딩 할 때 파일을 업로드하여 서버 문제가 아닌지 확인했습니다. $ http.post() 메서드를 호출하면 여전히 오류 404가 발생합니다. 올바른 경로를 파일에 작성했는지 100 % 확신합니다.

누구든지이 문제를 해결할 수 있습니까? 분명한 결론은 코딩 기반의 서버가 잘 작동해야하기 때문에 오류가 내 코드에 있다는 것입니다.

도움이 되셨습니까? 아래 대신 코드를 시도 할 수도 있도록 :-)

감사

+0

왜 외부 배열이 응답합니까? 상태 특성이있는 여러 항목을 보내려고합니까? 그렇지 않다면 외부 배열을 제거하십시오 – charlietfl

+0

@charlietfl이 배열을주의 해 주셔서 감사합니다. 꼭 필요한 것은 아니다. 나는 이미 그것을 삭제했다. –

답변

1

파일의 구조는 배열처럼 보인다.

if(data[0].status == 1) 
+0

더 나은 아직 .. 픽스 소스 구조 – charlietfl

+0

@charlietfl 왜 그것이 작동하지 않는지 아는 것이 중요하다고 생각 ... 나는 단지 구조를 바꾸지 않고 어레이라고 이해하기를 원하지 않았다. – scartag

+0

@ scartag 가치 반응에 감사드립니다. 문제가 다른 곳에서 있었던 것으로 나타났습니다. 나는 이미 내 글을 편집했다. $ http.post() 함수가 잘못되어 $ http.get() 함수가 잘 작동합니다. 나는이 요청을 할 때 이것이 왜 처음으로 나에게 오류 404를 주는지 모른다. –

관련 문제