cesarcesar Posted June 20, 2007 Share Posted June 20, 2007 I'm using the following AJAX code to send GET vars to my processing PHP file. This works great as is except that it will not accept a *&* (AND symbol) in the text input. It trys to pass what is after the *&* as a new GET var. I totaly get what is happening, just don't get how to fix it. I hope my example code is sufficient. HTML: <input type="text" class="inputbox" value="pb&j" id="input_name" name="input_name" onblur="javascript:makeRequest('my_file.php?new=',this.value);"/> Javascript: var http_request = false; function makeRequest(url, parameters) { //alert(parameters) http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { // set type accordingly to anticipated content type //http_request.overrideMimeType('text/xml'); http_request.overrideMimeType('text/html'); } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert('Cannot create XMLHTTP instance'); return false; } http_request.onreadystatechange = alertContents; // FOR POST VARS //http_request.open('POST', url, true); //http_request.send(parameters); // FOR GET VARS http_request.open('GET', url + parameters + "&time=" + get_date(), true); http_request.send(null); } function alertContents() { if (http_request.readyState == 4) { if (http_request.status == 200) { //alert(http_request.responseText); result = http_request.responseText; document.getElementById('myspan').innerHTML = result; } else { alert('There was a problem with the request.'); } } } Link to comment https://forums.phpfreaks.com/topic/56329-and-symbol-messing-up-params/ Share on other sites More sharing options...
cesarcesar Posted June 20, 2007 Author Share Posted June 20, 2007 My solutions was to add the replace() function at line 2 of the following code. function makeRequest(url, parameters) { parameters = parameters.replace(/&/g,"%26"); http_request = false; ... rest of function } Link to comment https://forums.phpfreaks.com/topic/56329-and-symbol-messing-up-params/#findComment-278296 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.