2011-05-02 4 views
0

나는 다음과 같이] 파일의 코드가되는 XML에서 뭔가 삭제 JQuery와 클릭 이벤트를 만들었습니다이 코드에 어떤 문제가 있습니까?

$(".delete_engine").bind("click",function(){ 
    var del = $(this); 
    var id = del.attr("id"); 
    var c = confirm("You sure want to delete this?"); 

    if(c) 
    { 
     /* $(this).next('.pclass').remove(); 
     $(this).prev('.rurl').remove(); 
     $(this).remove();*/ 
     $.ajax({ 
      type: "POST", 
      url: "http://localhost:8080/cPEP_UI/Engine_engine_delete", 
      data: "eid="+id, 
      dataType: "json", 
      success: function(data) { 
       $('#light').html("<img src='loading.gif' alt='loading gif'/>"); 
       $('#light').css("display","block"); 
       $('#fade').css("display","block"); 
       if(data.update == "success"){ 
        del.parent().next().remove(); 
        del.parent().remove(); 
        $('#light').html(data.message+" "+data.update); 
       } 
      }, 
      error:function(xhr,err){ 
       //alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status); 
       alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status); 
       $('.error').html("responseText: "+xhr.responseText); 
      } 
     }); 
    } 
}); 

을하지만 것은 그것의 구글 크롬 작업을하지만, 모질라 파이어 폭스에서 제대로 작동하지 않는 것이다. 왜 이런 일이 일어나고 있는지에 대한 아이디어는?! 그것은 캐시 때문입니까!?

+0

무엇을 작동하지 않습니다? 해서는 안되는 일이 일어나고 있거나 일어나지 않아야합니다. –

+1

너무 까다 롭지는 않지만,이 나쁜 소년을 왼쪽 여백으로 다시 태우는 것이 마음에 드시겠습니까? :) – pixelbobby

+0

어떤 일이 일어나지 않습니다 : xml 파일에서 특정 항목을 삭제하지 않고 jquery ajax 메서드도 표시하거나 오류 메시지를 표시하지 않습니다. 그러나 mozilla에서 #light id div를 표시하는 광고를 제대로 삭제하고 있습니다. – Maverick

답변

1

귀하의 범인이 여기에 있습니다. 나는 당신이 주어진 ID에 대해 기대하고있는 결과를 리턴하는지 돌아보기 위해 JSON을 점검 할 것이다.

if(data.update == "success"){ 
    del.parent().next().remove(); 
    del.parent().remove(); 
    $('#light').html(data.message+" "+data.update); 
} 

또한 자바 스크립트 오류가 있는지 확인해야합니다. jQuery의 AJAX API는 dataType이 JSON으로 설정된 경우 JSON 문자열에 대해 매우 엄격한 유효성 검사를 수행합니다. 오히려 용서할 수 없습니다.

+0

응답 마이크를 주셔서 감사합니다. 확인했습니다. JSON이 정상적으로 작동합니다. 그리고 그것은 mozilla 방화범 맺기에 절대적으로 아무런 오류도 보이지 않고 있습니다. – Maverick

+0

다른 장소에서 Firefox가 정상적으로 작동하는 Chrome을 오용 한 적이 있습니다. 크롬은 때때로 정신 분열증을 일으킬 수 있습니다. –

+0

그래서, 이것에 대한 해결책이 있습니까?! jquery의 다른 메소드를 사용해야합니까? – Maverick

0

이전에 Chrome에서 jQuery를 사용하여 JSON 객체에서 데이터를 가져 오는 데 문제가있었습니다. 내 솔루션은 엄격하게 JSON 구문 분석되고 있는지 확인하는 것이었다. 특히 모든 키와 값이 큰 따옴표로 묶여 있는지 확인하십시오.

다음은 현재 작업중인 앱에서 작동하는 JSON 객체의 예입니다.

{ "DB"{ "카운트": "4", "기록"{ "124": "124", "cooldood137", "43.1922532075705, -76.2615720447455"] "345" : [ "345", "jillchill9", "45.1922532075705, -78.2615720447455"], "987": [ "987", "bobdabanka", "43.4922532075705, -76.1615720447455"], "654": [ "654" "foobarlounge", "46.1922532075705, -79.2615720447455"], "674": "674", "! ohai 롤캣", "56.1922532075705, -69.2615720447455"] } } }

+0

json.simple 패키지를 사용하고 있습니다. – Maverick

관련 문제