Javascript 填充a<;选择>;带有ajax、json和不带jquery的菜单
我有几个选择菜单,我想使用php脚本中的json填充它们(每个选择菜单根据其他选择菜单的内容显示不同的值)。 我知道如何从js中清除和填充选择菜单,只要我有一个数组可以使用。问题是,我不知道如何使用ajax调用检索数组或json,以便javascript填充select菜单 我不希望使用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
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的一部分。例如: