Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 填充a<;选择>;带有ajax、json和不带jquery的菜单_Javascript_Ajax_Json_Drop Down Menu - Fatal编程技术网

Javascript 填充a<;选择>;带有ajax、json和不带jquery的菜单

Javascript 填充a<;选择>;带有ajax、json和不带jquery的菜单,javascript,ajax,json,drop-down-menu,Javascript,Ajax,Json,Drop Down Menu,我有几个选择菜单,我想使用php脚本中的json填充它们(每个选择菜单根据其他选择菜单的内容显示不同的值)。 我知道如何从js中清除和填充选择菜单,只要我有一个数组可以使用。问题是,我不知道如何使用ajax调用检索数组或json,以便javascript填充select菜单 我不希望使用jquery,因为它对于如此简单的任务来说实在太大了 如果您对此事有任何意见,我将不胜感激 我用于填充菜单的测试脚本: var sl = document.getElementById(foo); sl.opti

我有几个选择菜单,我想使用php脚本中的json填充它们(每个选择菜单根据其他选择菜单的内容显示不同的值)。 我知道如何从js中清除和填充选择菜单,只要我有一个数组可以使用。问题是,我不知道如何使用ajax调用检索数组或json,以便javascript填充select菜单

我不希望使用jquery,因为它对于如此简单的任务来说实在太大了

如果您对此事有任何意见,我将不胜感激

我用于填充菜单的测试脚本:

var sl = document.getElementById(foo);
sl.options.length = 0;
for(var i=0;i<100;i++){
    sl.options[i] = new Option(i + "Option text", i+"optionValue");
}
var sl=document.getElementById(foo);
sl.options.length=0;

for(var i=0;i是jQuery的一个轻量级实现,它支持JQ ajax,非常小,可以为您节省大量时间。

是jQuery的一个轻量级实现,它支持JQ ajax,非常小,可以为您节省大量时间。

如果您可以控制PHP脚本,那么最简单的(本机)方法是使用JSON-P

在服务器上:

<?php

$callback = $_GET['callback'];
$json = json_encode($data);
print $callback . '(' . $json . ');'; 

?>

关于客户:

<script>

function getJSON() {
    var script = document.createElement('script');
    script.src = 'http://mysite.com/page.php?callback=updateSelect';
    document.getElementsByTagName('head')[0].appendChild(script);
}

function updateSelect(json) {
    // do stuff with your JSON object
}

getJSON();

</script>

函数getJSON(){
var script=document.createElement('script');
script.src=http://mysite.com/page.php?callback=updateSelect';
document.getElementsByTagName('head')[0].appendChild(脚本);
}
函数updateSelect(json){
//处理JSON对象
}
getJSON();

这会向您的远程页面发出一个基本的GET请求;该页面打印封装在您提供的回调名称中的编码JSON,在本例中,该名称立即调用
updateSelect
方法,传递JSON对象。

如果您可以控制PHP脚本,那么最简单(本机)的方法就是使用JSON-p

在服务器上:

<?php

$callback = $_GET['callback'];
$json = json_encode($data);
print $callback . '(' . $json . ');'; 

?>

关于客户:

<script>

function getJSON() {
    var script = document.createElement('script');
    script.src = 'http://mysite.com/page.php?callback=updateSelect';
    document.getElementsByTagName('head')[0].appendChild(script);
}

function updateSelect(json) {
    // do stuff with your JSON object
}

getJSON();

</script>

函数getJSON(){
var script=document.createElement('script');
script.src=http://mysite.com/page.php?callback=updateSelect';
document.getElementsByTagName('head')[0].appendChild(脚本);
}
函数updateSelect(json){
//处理JSON对象
}
getJSON();

这会向您的远程页面发出一个基本的GET请求;该页面会打印封装在您提供的回调名称中的编码JSON,在本例中,该名称会立即调用
updateSelect
方法,并传递JSON对象。

如果我正确理解了您的问题,您正在寻找向服务器发送请求,然后返回一些数据是json格式的,不使用jQuery(并且可能不使用任何其他库)

好的,非常简单……欢迎来到2000年,在“原型”、“jQuery”和其他库发明之前,在“Ajax”一词出现之前(尽管这个范例已经在使用)

  • XmlHttpRequest-这是一个允许您发送异步http请求并获得响应的对象。最初,此对象的发明者(Microsoft Outlook Web Access)有XML内容,因此有名称,但您可以传递任何类型的MIME类型,包括json。此外,最初它仅作为仅在IE中可用的ActiveX实现,但现在它是“窗口”顶级对象的子对象,在所有浏览器上都可用。jQuery以及基本上所有其他库都使用此对象来支持jax功能。请看这里:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest 更多细节和样品
  • XmlHttpRequest将允许您仅向页面所来自的同一域发出请求。为了克服这一问题,发明了第二种技术,称为JSON-P,它利用了一个``元素,其中src指向其他域。诀窍是在服务器上生成一个脚本,其中数据作为回调函数的参数nction。回调函数在您的页面中实现。函数名称将是URL的一部分。例如:
  • 
    
    看看这个URL(它返回Google的blogpost最近发布的文章)。注意,所有内容都嵌入在对函数myFunc的调用中,作为参数传递


    您可以在代码中嵌入
    元素,也可以使用
    文档动态生成它。编写
    ,甚至可以使用DOM操作将元素添加到脚本类型的元素中。

    如果我正确理解了您的问题,您需要向服务器发送请求,并以json格式返回一些数据格式化,不使用jQuery(并且可能不使用任何其他库)

    好的,非常简单……欢迎来到2000年,在“原型”、“jQuery”和其他库发明之前,在“Ajax”一词出现之前(尽管这个范例已经在使用)

  • XmlHttpRequest-这是一个允许您发送异步http请求并获得响应的对象。最初,此对象的发明者(Microsoft Outlook Web Access)有XML内容,因此有名称,但您可以传递任何类型的MIME类型,包括json。此外,最初它仅作为仅在IE中可用的ActiveX实现,但现在它是“窗口”顶级对象的子对象,在所有浏览器上都可用。jQuery以及基本上所有其他库都使用此对象来支持jax功能。请看这里:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest 更多细节和样品
  • XmlHttpRequest将允许您仅向页面所来自的同一域发出请求。为了克服这一问题,发明了第二种技术,称为JSON-P,它利用了一个``元素,其中src指向其他域。诀窍是在服务器上生成一个脚本,其中数据作为回调函数的参数nction。回调函数在您的页面中实现。函数名称将是URL的一部分。例如:
  •