GET 调用无法使用 AJAX 调用与 JQUERY 一起使用

问题描述 投票:0回答:1

有人能看出这个有问题吗?它正在工作,但现在“genitive”返回为未定义,并且 url 似乎没有被执行。调用会传递一个星座的 ID,例如 42 = Hydra,调用应返回属格,即 Hydrae

function updateSN(ev) {
  ev.preventDefault();
  var e = document.getElementById("frm_GreekID");
  var gid = e.value;
  var text = e.options[e.selectedIndex].text;
  var cons = document.getElementById("frm_Constellation");
  var ctxt = cons.value;
  alert("CVAL = " + ctxt);
  $.ajax({
    url: "ggenitive.php",
    type: "POST",
    data: {
      c: ctxt,
    },
    success: function (response) {
      // show response for success
      let genitive = response.value;
      alert("GENITIVE = " + genitive);
      document.getElementById("frm_StarName").value = gid + " " + genitive;
    },
  });
}

在 ggenitive.php 页面中,将 $_POST 更改为 $_GET 并在 url 中传递星座值时,我得到了正确的响应,我知道该函数正在被调用,因为警报框起作用了。

这里是 ggenitive.php 如果有帮助的话

<?php
require( '../db_connect.php' );
include( '../inc/tvms_inc.php' );
//var_dump($_POST);
session_start();
$qga = "SELECT cGenitive FROM `ast_cons` WHERE id = '".$_POST['c']."'";
$rga = mysqli_query( $conn, $qga )or die( "<div class='container'><table class='table'><tr><th>COULD NOT PERFORM QUERY [GENITIVE]</th></tr><tr><td>" . $qga . "</td><tr>" . mysqli_error( $conn ) . "</td></tr></table></div>" );
$row=mysqli_fetch_assoc($rga);
echo $row['cGenitive'];
?>
jquery ajax function get
1个回答
0
投票
let genitive = response.value;

您的响应是一个纯字符串,没有

value
属性。

您可以只使用纯字符串响应

success: function(genitive) {
  alert("GENITIVE = " + genitive);
  document.getElementById("frm_StarName").value = gid + " " + genitive;
}
© www.soinside.com 2019 - 2024. All rights reserved.