jQuery post / ajax post问题

时间:2011-08-12 16:01:44

标签: php jquery

我想尝试发送一个jquery post / ajax将一些变量发送到php文件。

<script src="/jquery.js"></script>
<script type="text/javascript">

var music ='';
var genre ='';
var language ='';
var nasheedid = "<? echo $postid; ?>";
var session = "<? echo $_SESSION['SESS_TMP']; ?>";

$(function(){
$('.submit').click(function(){
var postdata = {pmusic: music, pgenre: genre, plang: language, psession: session};

$.ajax({
type: 'post',
cache: false,
url: 'addmusic.php',
data: postdata,
success: function (msg) {
alert(msg);
},
dataType: "text",
});

}); 
});   

现在无论我把帖子发布到哪里,(即使我将url更改为url:blahblah.php123我仍然得到相同的结果(即):

警报显示文件的完整源代码(上述代码所在)

3 个答案:

答案 0 :(得分:1)

可能是您在这些页面上有例外并重定向到同一页面,因此您每次都会看到同一页面。尝试调试服务器端代码并​​查看。

答案 1 :(得分:1)

谢谢你们,我自己解决了这个问题。我的服务器正在使用重写,所以我不得不使用url: "/addmusic.php"而不是url: "addmusic.php"

答案 2 :(得分:0)

所以你在警报中看到PHP代码?这有几个原因。

  1. 您没有安装WAMP堆栈。如果没有,则需要安装WampServer或XAMPP。
  2. 配置不正确。可能是PHP设置不正确。
  3. 您的配置不支持短标记(<?)。请尝试将其更改为<?php
  4. 您没有正确地通过服务器访问该文件。查看网址的开头,确保其以http://localhost/开头。
  5. 您也可以尝试使用jQuery.post()

    从PHP输出到Javascript时最好使用json_encode()

    var nasheedid = <?php echo json_encode($postid); ?>;
    var session = <?php echo json_encode($_SESSION['SESS_TMP']); ?>;
    

    它会照顾引用,逃避等等。