为了账号安全,请及时绑定邮箱和手机立即绑定

无法通过 AJAX jQuery 从 GET 请求获得对 PHP API 的响应

无法通过 AJAX jQuery 从 GET 请求获得对 PHP API 的响应

PHP
慕丝7291255 2023-03-04 17:10:12
我试图在用户使用 jQuery 中的“keyup”事件输入文本时获取数据。我实际上是在数据库中搜索以查找与模式匹配的所有单词。但是,我没有收到来自 PHP API 的响应。错误是404 - 未找到。我是 AJAX jQuery 的新手,我试图了解问题出在哪里。另外,我用 Postman 测试了 PHP 文件,它可以工作,返回 json 格式的数据。所以,我认为问题出在我的 Jquery 代码上。我发送输入值的地方有我的 AJAX jQuery。var searchRequest = null;$(function() {  var minlength = 3;  $("#phrEn").keyup(function() {    var lang = $('option:selected', "#lang"),      value = $('option:selected', "#lang").attr('value');    var that = this,      value1 = $(this).val();    if (value.length >= minlength) {      if (searchRequest != null)        searchRequest.abort();      searchRequest = $.ajax({        type: "GET",        url: "/../api/english/createPhrase.php",        data: {          'tablename': value,          'pattern': value1        },        dataType: "json",        success: function(data) {          $.each(data, function(key, value) {            $("#result").append(value);          });        },        complete: function() {        }      });    }  });});<form action="" method="POST" id="formid">  <h3>My first dictionary!</h3>  <div class="label">    <label>Translate from English</label>  </div>  <div class="enform">    <textarea class="form" id="phrEn" name="enPhrase" placeholder="Type phrase on English language" cols="50" rows="10" wrap="hard"></textarea>  </div>  <div class="addbutton">    <button class="button" type="submit" id="btnAdd" name="submit" onclick="insertIntoDatabase();">Add</button>  </div>  <div class="selectlist">    <div class="dropdown" style="float:center">      <div class="dropdown-content">        <label>To</label>        <select name="language" id="lang">          <option value="spanish">Spanish</option>          <option value="french">French</option>          <option value="german">German</option>          <option value="russian">Russian</option>        </select>      </div>    </div>  </div>
查看完整描述

1 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

我的项目在我的本地主机上运行,“/../”意味着我在公共文件夹中有 index,php 文件,我需要上升一个级别然后转到 api 文件夹,我有不同的文件夹。

您只能访问具有 URL 的 PHP 程序。

假设您的公用文件夹是 DocumentRoot,那么该目录之外的任何文件都没有 URL

您不能发送..到 HTTP 服务器并访问其上的任意文件。想象一下,如果人们能够使用../../../../../etc/passwd来收集任何服务器的密码文件。

您需要移动您的api文件夹,使其具有 URL(或通过其他机制(如 ApacheAlias指令)为其提供 URL)。


查看完整回答
反对 回复 2023-03-04
  • 1 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信