2012-10-26 2 views
4

ajaxSubmit에 문제가 있습니다. 문제는 양식을 제출하고 window.location 인 스크립트가있는 PHP의 응답을받을 때 페이지가 ' 전혀 변경 ...응답시 window.location을 가진 AjaxSubmit

내 PHP 스크립트는 양식이 올바르게 제출되면 window.location으로 스크립트를 반환하고, 그렇지 않으면 success 함수에서 구문 분석되는 JSON을 반환합니다.

... 나는 그것이 사용자에게 표시되지 않습니다, 네트워크 탭에서는 window.location URL을로드하지만, 볼, 크롬의 도구를 사용하여 여기에

는 내가 가지고있는 코드입니다 :

$("form").submit(function(e) { 
    e.preventDefault(); 
    $("form").ajaxSubmit({ 
     success: function(resp){ 
      try{ 
       resp=JSON.parse(resp); 
       alert(resp["error"]); 
      } catch(e){ 
       $("<div></div>").html(resp); 
      } 

     } 
    }); 
    return false; 
}); 

어떻게 작동시켜야합니까? 그걸 해결할 수 AjaxSubmit의 옵션 매개 변수의 속성이 있나요?

+0

당신은'resp' 변수의 내용을 게시 할 수 있습니다. –

+0

'resp' 변수는'window.location'에 표시된 URL의 코드를 포함합니다. –

+0

OK, 어떻게 그 코드를 실행합니까? 잠시 당신은 파싱 만하고 있습니다. –

답변

1

그냥 서버 응답에 JS 코드없이 URL을 제공 한 후 실행합니다

$("form").submit(function(e) { 
    e.preventDefault(); 
    $("form").ajaxSubmit({ 
     success: function(resp){ 
      try{ 
       resp=JSON.parse(resp); 
       window.location.href = resp; 
      } catch(e){ 
       $("<div></div>").html(resp); 
      } 

     } 
    }); 
    return false; 
}); 
+0

PHP 쪽에서'window.location'을 사용하지 말고 성공 함수를 구문 분석 할 URL이있는 json을 보내야합니다. 제출 된 URL에있는 스크립트를 실행하기 전에 성공을 호출 할 방법이 없습니까? –

+0

어쨌든, 성공 콜백이 호출되기 전에 제출 된 URL은 항상 실행됩니다 – sdespont

+0

그 안에있는 스크립트조차도? –

관련 문제