2012-08-07 59 views
0

你好,我想我在这里失去了一些东西......我有一个剧本我的html页面上Ajax和岗位上的PHP

12  <script type="text/javascript"> 
13   $(document).ready(function() { 
14     $('#find').click(function(){ 
15       
16       var amount = $('#amount').val(); 
17 
18       $.ajax({ 
19         type: "POST", 
20         url: "questions.php", 
21         data: amount, 
22         success: function(data){ 
23           
24           $('#results').show(); 
25       
26           
27           $('#results').html(data); 
28         } 
29       }); 
30     }); 
31   }); 
32  </script> 

如果我警报量我得到的输入,这样的数值正常工作

这里是我的PHP脚本

<?php 
    2 $search_term = $_POST['amount']; 
    3 
    4 
    5 
    6 echo $search_term; 

... 

,所以我得到什么结果! 如果我将回声改为“mpla mpla”;一切工作正常?

我错过了什么吗?

在此先感谢!

+1

作为挑剔的一面,您应该假设数组键存在于任何类型的用户控制输入中。您应该使用filter_input或isset来确保您不会尝试访问不存在的数组键。 – Corbin 2012-08-07 09:53:59

+0

是的,我知道这是我的代码的简化版本!就是我遇到的问题! – 2012-08-07 09:55:47

回答

1
$(document).ready(function() { 
14     $('#find').click(function(){ 
15       
16       var amount = $('#amount').val(); 
17 
18       $.ajax({ 
19         type: "POST", 
20         url: "questions.php", 
21         data: { 'amount': amount }, 
22         success: function(data){ 
23           
24           $('#results').show(); 
25       
26           
27           $('#results').html(data); 
28         } 
29       }); 
30     }); 
31   }); 

把它变成这样。这将通过变量'amount'作为$_REQUEST['amount']

+0

非常感谢,解决了我的问题! – 2012-08-07 09:54:18

3

data旨在成为键和值的映射。

尝试:

data: {amount: amount}