2014-02-11 66 views
0

我想從爵士到PHP發送數據,然後將它們重新發送到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

此代碼工作正常,謝謝,但我有一個問題:我如何可以存儲'數據'參數以在此函數之外使用它? –

+0

也許這不是最好的解決方案。但其中一個就是在javascript中創建一個對象(就在ajax請求之前),並將答案保存到該對象中:)。它仍然可用後。 如果我的回答有幫助,謝謝你投票:)。 – Maxime

相關問題