我已经被困在这几天了, 这是我之前的问题,但没有一条评论似乎有效。 我尝试了多种方法并设法摆脱404错误,但现在有500错误… 基本上我想在事件发生时发布一个AJAX查询。 使用解析值的AJAX查询运行Slim post route。 使用经过解析的值,使用Slim post route从数据库中选择数据。 然后从查询中返回结果并将其显示在选择框中。 如果有人知道如何解决这个问题,我将非常感激! 这是代码: //Post the AJAX request $(document).ready(function() { $(‘select#add-module-stackid’).change(function() { var val = document.getElementById(“add-module-stackid”); var val2 = val.options[val.selectedIndex].value; //alert(val2); $.ajax({ url: ‘/admin-get-add-module’, data:{stackid:val2}, dataType:’json’, type: ‘POST’, success: function(response) { console.error(JSON.stringify(response)); alert(response); }, error: function() { console.error(“error”); alert(‘Not working!’); } }); }); }); 这是Slim Post […]
我已经设法最终使这个代码工作,它根据URL中的hashtag以及div是否触摸窗口的顶部或底部来淡入和淡出div。 jQuery看起来像这样: var distanceFromTop = $(window).scrollTop(), distanceFromBottom = $(window).scrollTop() + $(window).height(); var divOneFromTop = $(“#div-one”).offset().top, divOneFromBottom = divOneFromTop + $(“#div-one”).height(); if (window.location.hash == “#div-one” && distanceFromTop >= divOneFromTop && !(distanceFromBottom > divOneFromBottom)) { $(“.div-one-info”).fadeIn(300); } else { $(“.div-one-info”).fadeOut(300); } var divTwoFromTop = $(“#div-two”).offset().top, divTwoFromBottom = divTwoFromTop + $(“#div-two”).height(); if (window.location.hash == “#div-two” && distanceFromTop >= […]
我对UF很新,我正在开发一个基于附带工具的网络工具。 我已经仔细阅读了所有教程,并且大部分都了解PHP,Twig,Slim和JQuery之间的基本工作流程。 即使我不是所有这些技术的专业人士,因此我有两个问题,这让我有点回到开发我想要实现的东西。 如果问题有点愚蠢,请不要怪我。 1.)在使用JQuery重新加载页面期间以及在将一些数据发布到端点之后,将参数传递回初始页面的“正确”/“预期”方法是什么。 为了让它更清楚,这里有一个小例子: 已加载基于Twig的站点 一些数据被POST到端点并进行处理(包括重新加载初始页面后所需的参数) JQuery启动路由(重新加载) 初始网站根据树枝重新加载(这里我需要参数) 它不是全局必需参数,所以我认为会话变量不是一个合适的选项。 将它放在url路径(而不是查询参数)中也不是正确的解决方案,因为该参数仅与视图相关,而不是直接与此路径中处理的对象相关。 目前我使用的是一个查询参数,我在重新加载时传递了该URL。 有没有更好的方法来处理所需的function? function(data, statusText, jqXHR) { var cSelect = $(‘#input_group’).val(); window.location=”{{site.uri.public}}/states?c=” + cSelect; } 2.)第二个问题更加分散,因为我不知道如何做到这一点。 什么是取决于用户交互在页面上获取数据的最佳方式,例如选择选择标签中的选项,并且我想依赖于更新其他选择标签中的选项元素。 如果我错了,请纠正我的想法。 我将建立一个JQuery例程,它响应第一个select-tag的变化,访问一个特定的路由来获取数据,并用新获取的数据交换现有的选项。 这是正确的做法吗? 如果有人可以为JQuery附加一些基本代码,特别是对于Controller,我会非常高兴,我可以正确地将信息从php传递回Javascript(响应的格式?json?)。 重新加载一个简单的字符串就足够了,我能想出的其他一切只需要一些基本的信息如何做到这一点。 我知道如何做这两件事,但我想基于UF包含的工具正确地做到这一点。 因此,我的问题和我也认为这将有助于其他新用户和使用工具的人。
我有Slim Framework和PUT请求的问题。 我有一个简单的jQuery脚本,它会在单击按钮时更新到期时间。 $(“#expiry-button”).click(function(event) { event.preventDefault(); $.ajax({ url: ‘http://www.domain.com/expiry/38/’, dataType: ‘json’, type: ‘PUT’, contentType: ‘application/json’, data: {aid:’38’}, success: function(){ var text = “Time updated”; $(‘#expiry’).text(text).addClass(“ok”); }, error: function(data) { var text = “Something went wrong!”; $(‘#expiry’).text(text).addClass(“error”); } }); }); 我总是得到“出错了!” 在我配置了Slim的index.php中,我有这个 $app->put(‘/expiry/:aid/’, function($aid) use($app, $adverts) { $id = $app->request()->put($aid); $adverts->expand_ad_time($id[“aid”]); }); 如果我var_dump($id)我得到NULL 响应标头如下所示: Status Code: […]
在我的Slim PHP应用程序中尝试使用AJAX获取数据时,我在控制台中获得了404(未找到)。 这是错误消息: http://localhost:8888/Project/mods/public/edit-mod/ajax/get-categories?gameID=1 404 (Not Found) 这是在routes.php文件中定义的路由(正确包含,所有其他路由都在工作): $app->get(“/ajax/get-categories/”, function() use ($app, $User, $Game, $Mod){ //Fetch data and echo it }); 最后,这是我在JS脚本中调用AJAX页面的方法: $.get(“ajax/get-categories”, {gameID: gameID}, function(data){ //Do something with data }); 我尝试将Slim路由更改为“ajax / get-categories /”(没有前导/ ),但它没有改变任何东西,我也尝试了一堆不同的路径进行AJAX调用(在JS脚本中)但没有工作,我总是得到404无论如何。 当我在我的脚本中只调用ajax/get-categories时,似乎是将当前页面(ex edit-mod/ )附加到路径上,这可能就是我的问题。 有没有办法匹配每个以ajax/get-categories结尾的路由,以便upload/ajax/get-categories和edit-mod/ajax/get-categories都可以工作? 如果您需要更多代码,请告诉我,我想我已经包含了与问题相关的所有内容。