-1

你好我有下面的代码:

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

我的 php 脚本有下面的代码

5 $search_term = $_POST['amount'];
6 echo $search_term;

如果我删除第 21 行内容类型的东西,我将输入作为输出,但我没有得到任何输出!问题是我真的需要内容类型的东西,所以任何关于它的信息都会非常有帮助!

4

2 回答 2

0

您将数据作为表单数据发送,但将发送的数据声明为 XML。PHP 在期待 XML 时无法解析 JSON 数据,因此不会返回任何内容。并且它是可选的设置contentType

来自jQuery 文档

contentType 默认值:'application/x-www-form-urlencoded; charset=UTF-8'

向服务器发送数据时,使用该内容类型。默认为“application/x-www-form-urlencoded; charset=UTF-8”,在大多数情况下都可以。如果您明确地将内容类型传递给 $.ajax(),那么它将始终被发送到服务器(即使没有发送数据)。如果没有指定字符集,数据将使用服务器的默认字符集传输到服务器;您必须在服务器端对此进行适当解码。

于 2012-08-07T19:47:46.670 回答
0

更改第 21 行

contentType: "text/xml;charset=utf-8",

contentType: "application/x-www-form-urlencoded;charset=utf-8",
于 2012-08-07T19:55:49.943 回答