I am making an ajax call from js to call a method (assocboxchange) in my controller (AssociatesController), using XMLHttpRequest. I know the XMLHttpRequest works fine because I use it in other places with success. My problem is my URL I am using for this request doesn;t access the method in my controller which I (think) I am specifying. I am having it post to /channels/assocboxchange/" with certain parameters, but the method in my controller never is gotten to. I know the problem is not in my js or in making the post request -- it is posting somewhere and I believe that because in firefox, the error concole is clean. Can someone tell me from my js below where I am posting, or why my controller method isnt getting the post? Thanks, Janna B
//this function is getting called by an onchange in the associates select function assocchange(therow){ var s = document.getElementById("assoc"+therow).value; var url = "/channels/assocboxchange/" var parameters = "assoc=" + escape(encodeURI(s)) + "&id=" + therow; formid="assoc" + therow; makePOSTRequest(url, parameters, formid) }
function makePOSTRequest(url, parameters, formid){ req3 = new XMLHttpRequest(); if (req3) { req3.onreadystatechange = alertContents(formid); req3.open('POST', url, true); req3.setRequestHeader("Content-type", "application/x-www-form- urlencoded"); req3.setRequestHeader("Content-length", parameters.length); req3.setRequestHeader("Connection", "close"); req3.send(parameters); } }
function alertContents(formid) { if (req3.readyState == 4) { if (req3.status == 200) { result = req3.responseText; document.getElementById("'"+formid+"'").innerHTML = result; } else { alert('There was a problem with the request.'); } } }