Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在href中动态传递文件URL_Javascript_Php_Json - Fatal编程技术网

Javascript 在href中动态传递文件URL

Javascript 在href中动态传递文件URL,javascript,php,json,Javascript,Php,Json,我们有两个json文件,即shirt.json,phone.json 两个json文件都有不同的内容 我们在页面中显示两个链接,如下所示: <a href = "http://1.1.1.1/folder1/editor.php?page=shirt">Shirt</a> <a href = "http://1.1.1.1/folder1/editor.php?page=phone">Phone</a> 我将json文件shirt.json或p

我们有两个json文件,即
shirt.json
phone.json

两个json文件都有不同的内容

我们在页面中显示两个链接,如下所示:

<a href = "http://1.1.1.1/folder1/editor.php?page=shirt">Shirt</a>

<a href = "http://1.1.1.1/folder1/editor.php?page=phone">Phone</a>
我将json文件shirt.json或phone.json保存在以下文件夹中:

http://1.1.1.1/folder1/

需求更新


假设我们将editor.php文件保留一个路径:
http://1.1.1.1/folder1/
,另一个路径中的json文件,例如:
http://4.4.4.4/folder4/
,那么如何传递这些json文件URL呢?

使用类似的方法,以适应您的需要。您的URL将是:

在单独的文件中创建一个抽象类。这将有点像枚举

<?php

abstract class Pages {

    public const SHIRT = "http://1.1.1.1/folder1/shirt.json";
    public const PHONE = "http://1.1.1.1/folder2/phone.json";

}

//如果常数不存在
//页面参数有效
$.getJSON(,(数据)=>{
//做事
});
//页面参数的格式不正确

所以完整的URL应该是
http://4.4.4.4/folder4/shirt.json
,并且您的脚本会自动将
.json
附加到您已经传递的任何值的末尾–您不能计算出完整URL减去该后缀后的“剩余”是什么吗…?(顺便说一句,这有多个安全问题,首先想到的是跨站点脚本和路径遍历攻击。)@misorude感谢您的评论,但您误解了我的要求,我将editor.php文件和json文件保留在不同的路径中。在这种情况下,您没有理解我的要求,而是误解了我的要求-怎么做?在我看来,你似乎仍然看不到答案,而答案已经为你拼出来了。你希望“x with
.json
put at end”的最终结果是
http://4.4.4.4/folder4/shirt.json
,对吗?那么在这种情况下x应该是什么呢?
$.getJSON('.json',函数(数据)
此部分不起作用,因为需要转义单引号或使用双引号/反勾号。我更新了您的代码=>,,请告诉我是否需要对访问url进行任何其他更改?如果不需要,您可以删除
行。除此之外,我认为它现在应该可以工作。编辑:您还应该在你的编辑器中创建abstract.php文件谢谢,但是当我点击时,它不会从json文件中获取图像…我得到了
未捕获的语法错误:由于某种原因,输入意外结束
。…你在集成我的代码时弄乱了一些语法。这是一个应该有效的方法。抱歉,我更新了你的代码,请埃克。。。。。
<?php

abstract class Pages {

    public const SHIRT = "http://1.1.1.1/folder1/shirt.json";
    public const PHONE = "http://1.1.1.1/folder2/phone.json";

}
//convert the string to upper, just in case the parameter is shirt instead of SHIRT
<?php $page = (isset($_GET['page']) ? strtoupper($_GET['page']) : ""); ?>

//if the constant doesn't exist
<?php if(defined("Pages::{$page}")): ?>
   //the page parameter is valid
   $.getJSON(<?php echo constant("Pages::{$page}"); ?>, (data) => {
      //do stuff
   });

<?php else: ?>
   //the page parameter is malformed
<?php endif; ?>