2014-02-11 3 views
0
내가 PHP에 JS에서 데이터를 전송 다음 함수에서 사용하는 JS에게 재전송 할

이 내 코드입니다 :js에서 php로 데이터를 보내려면 어떻게해야합니까?

$.ajax({ 
    type:"POST", 
    url: "pages/quantity.php", 
    data: product, 
    success: function(){ 
    jQuery.extend({ 
     getValues: function(url) { 
      var result = null; 

      $.ajax({ 
       url: url, 
       type: 'get', 
       dataType: 'json', 
       async: false, 
       success: function(data) { 
        result = JSON.stringify(data); 
       } 
      }); 

      return result; 
      } 
     }); 
    } 
}); 



var q = document.qntfrm.qnt.value; 

var max = $.getValues("pages/quantity.php"); 
alert(max); 

하지만 난이 오류가있어 :

Uncaught TypeError: Object function (selector, context) { 
     // The jQuery object is actually just the init constructor 'enhanced' 
     return new jQuery.fn.init(selector, context); 
    } has no method 'getValues' 

을 그래서 내 코드에서 오류가 어디 있습니까? 이 작업을 수행하는 더 좋은 방법이 있습니까?

+1

,'product'의 값은 무엇인가 :

왜 뭔가를하려고하지? 둘째, 왜 반환 핸들러에서'.extend'를 사용하고 있습니까? 그 오류는 선언되기 전에'getValues'를 호출했기 때문에 발생합니다. 그러나 왜 당신이 이것을하는지 확신 할 수 없습니다. –

+0

더 자세히 설명해 주시겠습니까? 당신이하려는 일을 이해하지 못합니다. – Moob

+0

이 함수는 크게 단순화 될 수 있습니다. – VIDesignz

답변

0

@Moob이 맞다고 생각합니다.

첫째
var obj = {}; 
obj.name_of_parameter = val 
// val is your param ... 
// and name_of_parameter as to match your php get or post variable name 

var str = jQuery.param(obj); 

$.ajax({ 
    type: "POST", 
    url: 'the_url', 
    dataType: 'json', 
    data: str, 
    success: function (data) { 
      // code if ok 
    }, 

    error: function() { 
     // code if something went wrong 
    } 
}); 
+0

이 코드는 잘 작동하지만 감사합니다.하지만이 함수 밖에서 사용하기 위해'data' 매개 변수를 어떻게 저장할 수 있습니까? –

+0

아마도 최상의 솔루션이 아닙니다. 하지만 하나는 javascript (Ajax 요청 직전)에 객체를 만들고이 객체에 대답을 저장하는 것입니다. :) 이후에도 계속 사용할 수 있습니다. 내 답변이 도움이된다면 투표 해 주셔서 감사합니다 :). – Maxime

관련 문제