2013-11-21 2 views
0

내 AJAX 호출이 인 경우 문제가 발생합니다.이 문제를 해결하고 Chrome dev 도구로 이동하면 만 발생합니다. 즉, 일반 사용자처럼 내 양식을 제출하면 서비스가 절대로 안됩니다. $.ajax에 중단 점을 설정하고 그 위에 단순히 F5를 지정하면 호출이 이루어집니다. 그러한 행동을 일으키는 아이디어는 무엇입니까?

양식에 두 개의 텍스트 상자 (이름 및 성)이 있습니다 (getUserName 메서드는)

$('#getUsername').submit(function() { 
    var firstname = $('#firstname').val(), 
     lastname = $('#lastname').val(); 

    authenticationHelper.getUsername(firstname, lastname); 
}); 

그런 다음 호출은 (그들이 돈 '같은 모듈에서 몇 가지 다른 doSomethings()와 본질적으로 같은 것입니다 t는 authenticationHelper.getUsername 완료되기 전에 중단하지 않을 때 그렇게 getUsername 방금 ​​제출지고, 아무것도 미친) 당신의 submit 호출 당신은 false를 반환하지 않는

authenticationHelper = function() { 
    var getUsername = function (first, last) { 
     var firstName = doSomething(first); 
     var lastName = doSomething(last); 

     doGetUsername(firstName, lastName); 
    } 

    var doSomething = function(string) { 
     return string; 
    } 

    var doGetUsername = function (firstName, lastName) { 
     $.ajax({ 
      type: 'GET', 
      url: 'http://localhost/api/user/', 
      data: { first: firstName, last: lastName }, 
      dataType: 'jsonp', 
      success: function() { 
       alert('success'); 
      }, 
      error: function (xhr, status, err) { 
       console.log(xhr + status + err); 
      } 
     }); 
    } 

    return { 
     getUsername: getUsername 
    } 
}(); 
+2

코드의 모양은 무엇입니까? – putvande

+0

컨텍스트에서 코드를 보려면 코드 예제 (js, html)를 제공하십시오. thx –

+0

일부 코드가 필요합니다. –

답변

1

을한다.

+0

'event.preventDefault()'가 더 좋을 것입니다. 그러나 그렇습니다, 그것은 문제입니다. – lonesomeday

+0

어디에서 거짓으로 돌아 가야합니까? getUsername에? – Tom

+1

'submit' 익명 함수 내부. 대신에,'return false;'대신'event.preventDefault()'를 할 수 있습니다. @loneomeday가 지적했듯이. –

관련 문제