我需要的是通过javascript重建prototype.js Ajax请求。(没有 jQuery / 没有获取)。需要 IE 支持(出于某些原因...)new Ajax.Request(urlVar,{ method: 'post', parameters: {elid: document.getElementById('element').selectedIndex}, onCreate: function(){ //do somethings }, onComplete: fucnction (event){ currentValues = eval('(' + event.responseText + ')'); console.log(currentValues); // will give me an array with 3 objects }});我尝试过的是:var xhr = new XMLHttpRequest();xhr.open("POST", urlVar, true);xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");xhr.onreadystatechange = function (event) { if (xhr.readyState == 4) { if (xhr.status == 200) { currentValues = eval('(' + event.responseText + ')'); console.log(currentValues); // i see an error that "currentValues" is undefined //i can get 1 object if i will do eval('(' + THIS.responseText + ')'); // but it still bugs me a lot.. //other actions here } else if (xhr.status == 400) { console.log('ERROR') } else { console.log('something else other than 200 was returned'); } }}xhr.send(document.getElementById('element').selectedIndex);也许有人知道在这种情况下哪种结构会起作用。有什么方法可以通过 js 执行 onCreate / onComplete 吗?
1 回答
梦里花落0921
TA贡献1772条经验 获得超6个赞
使用this.responseText
, xhr.responseText
(与您已经访问.status
和的方式相同.readyState
)或event.target.responseText
。在event
不具有responseText
本身。
添加回答
举报
0/150
提交
取消