gpt4 book ai didi

javascript - 添加 json2.js 时出现语法错误

转载 作者:行者123 更新时间:2023-11-28 21:21:10 26 4
gpt4 key购买 nike

我想在jsp页面中显示来自servlet的json响应。下面是代码。但是,当我包含 json2.js 时;浏览器报告语法错误。我正在 liferay 门户网站上工作。如果我做错了什么,请提出建议。

<html>
<head><script type="text/javascript"> var AJAX_SERVLET="<%=renderResponse.encodeURL(renderRequest.getContextPath())%>/ajaxServlet";
</script>
<script type="text/javascript" src="json2.js">
/**
* This file contains the base Ajax call to Servlet
*/
function getXMLObject() //XML OBJECT
{
//alert("loading...");
var xmlHttp = false;
try {

xmlHttp = new ActiveXObject("Msxml2.XMLHTTP") // For Old Microsoft Browsers
} catch (e) {
try {

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP") // For Microsoft IE 6.0+
} catch (e2) {
xmlHttp = false // No Browser accepts the XMLHTTP Object then false
}
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {

xmlHttp = new XMLHttpRequest(); //For Mozilla, Opera Browsers
}

return xmlHttp; // Mandatory Statement returning the ajax object created
}

var xmlhttp = new getXMLObject(); //xmlhttp holds the ajax object

function ajaxFunction() {
if (xmlhttp) {
xmlhttp.open("GET", AJAX_SERVLET, true); //AJAX_SERVLET has the servlet path
xmlhttp.onreadystatechange = handleServerResponse;
//xmlhttp.setRequestHeader('Content-Type',
//'application/x-www-form-urlencoded');
xmlhttp.send(null);
}
}
function handleServerResponse() {
alert(xmlhttp.readyState);
if (xmlhttp.readyState == 4) {
alert(xmlhttp.status);
if (xmlhttp.status == 200) {
alert(xmlhttp.responseText);
var json = JSON.parse(xmlhttp.responseText);
alert (json);
// json now contains an array of objects, eg:
//
// [
// {
// "productNumber" : "001",
// "productType" : "User Manual",
// "funcDesignation": "Operator"
// }
// ]
// grab the first (and only) object in the array
var firstRecord = json[0];
// update the UI by selecting DOM elements and rewriting their contents
document.getElementById('product-number').innerHTML = firstRecord.productNumber;
document.getElementById('product-type').innerHTML = firstRecord.productType;
document.getElementById('func-designation').innerHTML = firstRecord.funcDesignation;
} else {
alert("Error during AJAX call. Please try again");
}
}
}</script>
</head>
<body>
<form name="myForm">
<h4>
<b>Hello</b>,
</h4>
<h5><%=renderRequest.getAttribute("userName")%></h5>
<div id="maincontent">
<div class="innertube">
<h4>Search Criteria</h4>
<table style="border: 1px solid #9f9f9f; float: left"
cellspacing="1">
<table style="border: 1px solid #9f9f9f; float: right;">

<tr><td><label for="status">Search Status</label></td>
<td><input type="text" id="status" name="status" dojoType="dijit.form.TextBox" size="40"
value="Please enter search criteria" /></td>
</tr>
<tr>
<td><label for="push">Push to start</label></td>
<td><button dojoType="dijit.form.Button" style="width: 4em" type="button" name="submitButton" value="Submit" onclick="ajaxFunction()"></button></td>
</tr>
</table>
</div>
</div>
<div id="framecontent">
<div class="innertube">
<div>Number: <span id="product-number"></span></div>
<div>Type: <span id="product-type"></span></div>
<div>Function: <span id="func-designation"></span></div>
</div>
</div>
</form>
</body>
</html>

最佳答案

似乎/json2.js 指向一个非 JavaScript 文件。您可以验证该文件是否存在于您的服务器上,并且/json2.js 解析为所需的文件吗?否则,使用 JSON 解析器实现的绝对路径:

<script type="text/javascript" src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js"></script>

关于javascript - 添加 json2.js 时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6354055/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com