getJSON 和 mod 重写
我使用以下代码从我的服务器检索 json 格式的值:
$(document).ready(function(){
$.getJSON("http://127.0.0.1/test/echo.php?jsoncallback=?", {
value: 'hello',
}, function(data){
$('#div').html(data.test);
}); });
正如您所看到的 $.getJSON url 现在是: http://127.0.0.1/test/echo.php?jsoncallback=?
但我更喜欢:http://127.0.0.1/test/echo/
在我的服务器上,我使用以下 mod 重写代码:
RewriteRule 上的 RewriteEngine ^test/echo/([^/.]+) test/echo.php?value=$1 [L]
当我在浏览器中输入 URL (http://127.0.0.1/test/echo/hello) 时,一切正常,但我想知道如何使用$.getJSON 请求中的干净 URL。因为出于某种原因,我喜欢的网址现在不起作用。
I'm using the following code to retrieve values in a json fomat from my server:
$(document).ready(function(){
$.getJSON("http://127.0.0.1/test/echo.php?jsoncallback=?", {
value: 'hello',
}, function(data){
$('#div').html(data.test);
}); });
As you could see the $.getJSON url is now: http://127.0.0.1/test/echo.php?jsoncallback=?
But I prefer: http://127.0.0.1/test/echo/
On my server I'm using the following mod rewrite code:
RewriteEngine on RewriteRule ^test/echo/([^/.]+)
test/echo.php?value=$1 [L]
When I'm enter the URL (http://127.0.0.1/test/echo/hello) in my browser, everything works fine, but I'm wondering how to use the clean url in the $.getJSON request. Because for some reason the url I prefer doesn't work now.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看起来您的查询字符串在 RewriteRule 中丢失,请尝试 QSA (查询字符串追加)标志:
它将 URL 的
&jsoncallback=?
部分传递到test/echo.php
以及值
参数It looks like your query string is getting lost in your RewriteRule, try the QSA (Query String Append) flag:
That will pass the
&jsoncallback=?
part of the URL ontotest/echo.php
as well as thevalue
argument