2010-12-02 5 views
2

Google 크롬 7.0.x를 사용하며 사용자가 버튼을 클릭 할 때 호출되는 javascript 기능이 있습니다.Google 크롬 : onclick-event에서 jquery.ajax가 실패 함 ("리소스로드 실패")

function myFunction(myId) { 
$("#" + myId).click(function() { 
    $.ajax({ 
    type: "POST", 
    url: "myURL", 
    success: function(msg){ 
    alert (msg); 
    } 
}); 
}); 

alert()이 호출되지 않고 대신 콘솔에서 잠글 때 "리소스를로드하지 못했습니다."라는 메시지가 표시됩니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

asp.net http 처리기를 사용하고 있습니까? –

+0

어떨까요 firefox에 대해 무엇이 그물 패널에 보여주는 fireub, 나는 크롬과 함께 잘못 생각하지 않는다, 당신의 URL은 틀린 것 같아 보인다. – kobe

+0

는 onething을하고, URL을 가져와 브라우저에서 붙여 넣고 무슨 일이 일어나는 지 확인한다. – kobe

답변

4

click 처리기 끝에 return false을 잊어 버렸습니까?

+0

@thorn, 오류가 발생해서는 안됩니다. – kobe

+0

고마워, 그게 내 문제를 해결 했어! 아직 이해가 안되지만 왜 "return false"가 필요한지, 실제로 무엇을하는지 ... –

+3

false를 반환하면 안됩니다. jquery api의 – Webnet

0

오류가 무엇인지 볼이 시도 :

function myFunction(myId) { 
$("#" + myId).click(function() { 
    $.ajax({ 
    type: "POST", 
    url: "myURL", 
    success: function(msg){ 
    alert (msg); 
    }, 
    error: function (error, t, msg) { 
    console.log(error); 
     console.log(t); 
     console.log(msg); 
    } 
}); 
}); 

어쩌면 당신의 URL은 내가 당신의 URL이 잘못 내기

+0

빠른 답장을 보내 주셔서 감사합니다. 귀하의 코드를 추가했지만 다음과 같은 일이 발생합니다 : ajax-method가 호출 될 때 나는 laoding-image를보고로드하는 동안 콘솔을 볼 수 있습니다. 그러나 2 초 정도 지나면 로그가 사라지고 브라우저가로드를 멈 춥니 다. 브라우저가 전체 페이지를 다시로드하는 것 같아요. –

+0

@passer, 방화범에 그물 패널을 열고 결과를보고 다른 의견을 확인하십시오. – kobe

+0

@passer, myURL은 큰 따옴표로 묶여 있습니다. 다이나믹이라면 큰 따옴표가 없어야합니다 ... – kobe

0

잘못, 방화범 순 패널에서 URL을 확인하시기 바랍니다이 문제를 해결해야한다.

위 코드의 경우 크롬에 아무런 문제가 없습니다.

5

return false; 대신 function (e) {을 입력 한 다음 바로 다음 번에 e.preventDefault();에 클릭 이벤트의 기본 동작을 중지하고 수행하라는 지시를해야합니다. 항상 값을 false로 반환하지 않으려 고하기 때문에 훨씬 더 나은 방법입니다.

function myFunction(myId) { 
    $("#" + myId).click(function(e) { 
     e.preventDefault(); 
     $.ajax({ 
      type: "POST", 
      url: "myURL", 
      success: function(msg){ 
       alert (msg); 
      } 
    }); 
} ); 
관련 문제