我正在开发一个将一些数据发送到网站的网络应用程序。该网站将数据更新到其数据库并返回一个替换我的 webapp 页面的 json 数组。我正在使用 ajax 进行查询。我需要知道如何防止我的网页被覆盖。服务器不是我的,因此可能存在同源策略问题。
我检查了xmlhttp.readystate
and xmlhttp.status
,它们分别是 4 和 0。根据 stackoverflow 上的一些帖子,由于原始策略而出现 0 状态,但我无法为此找到解决方案,因为通常有此问题的人可以访问服务器端编程的更改。
我想读取 json 并为我的应用程序提取值,但如果我使用xmlhttp.responseText
服务器返回一个空白字符串。
任何帮助深表感谢。
谢谢
我的代码:
function sendAndReceive() {
var xmlhttp;
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
document.getElementById("postevent").innerHTML = "state changed";
document.getElementById("postevent").innerHTML = "" + xmlhttp.readyState + " " + xmlhttp.status;
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("postevent").innerHTML = "success response";
document.getElementById("postevent").innerHTML = "this is it" + xmlhttp.responseText;
}
}
var url = "http://simple.ap.ernet.in/api/home/resource.php/resource/node?";
url += "key=" + document.getElementById("key").value + "&";
url += "datasetId=" + document.getElementById("datasetId").value + "&";
url += "localId=" + document.getElementById("localId").value + "&";
url += "nodeName=" + document.getElementById("nodeName").value + "&";
url += "nodeDesc=" + document.getElementById("nodeDesc").value + "&";
url += "lat=" + document.getElementById("lat").value + "&";
url += "long=" + document.getElementById("long").value;
document.getElementById("postevent").innerHTML = url;
xmlhttp.open("POST", url, true);
xmlhttp.send();
}