ajax怎么传递值

张有尚
  • 18

我想使用ajax传这个starValue给数据库进行保存,

jQuery('.stars .star').click(function(){
    var starValue = $(this).closest('.stars').find('.fullStar').length;
    console.log(starValue);

为了传递这个值

 $.ajax({ url: "trygo.php", type: "POST", data:{"myData":starValue}, 

我的trygo.php文件为

mysql_connect($dbhost, $dbuser, $dbpass); mysql_select_db($dbname) or die(mysql_error()); // 
Retrieve data from Query String $myData = $_GET['myData']

但是我得到了错误undefine,请问怎么传他

回复
阅读 646
3 个回答
✓ 已被采纳
jQuery(".stars .star").click(function () {
  var starValue = $(this).closest(".stars").find(".fullStar").length;
  console.log(starValue);
  $.ajax({
    type: "POST",
    url: "trygo.php",
    data: { myData: starValue },
    dataType: "json",
    success: function (response) {
      console.log("response: ", response);
    },
  });
});

1.
ajax写法没什么问题。你确定你的starValue是有值的?
2.
你的前端传的是 Post Body
PHP取的确是Query String
这里两者就没对上。


你要明白一点:
前端发post body 你需要在request body取值
前端发get query string,你需要在Query String取值

方案 1
PHP 使用 $_POST['myData'] 或者 $_REQUEST

方案 2
ajax 改成 get 方法传输

啊这,前端写的是post请求,你却用get来获取吗

你知道吗?

宣传栏