我试图在用户使用 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)。
- 1 回答
- 0 关注
- 112 浏览
添加回答
举报
0/150
提交
取消