Php 通过AJAX将Javascript$\u GET变量传递给CodeIgniter模型
早上好,我正在使用谷歌地图V3来实现一个项目 在我看来,一个信息窗口打开,用户可以输入数据。我想把数据保存到我的数据库中 我的addMarker模型函数应该获取输入的数据并将其保存到我的数据库中。 目前,信息窗口打开,我可以输入信息。但这些数据并没有发送到 我的模型中的addMarker函数Php 通过AJAX将Javascript$\u GET变量传递给CodeIgniter模型,php,javascript,ajax,google-maps,codeigniter,Php,Javascript,Ajax,Google Maps,Codeigniter,早上好,我正在使用谷歌地图V3来实现一个项目 在我看来,一个信息窗口打开,用户可以输入数据。我想把数据保存到我的数据库中 我的addMarker模型函数应该获取输入的数据并将其保存到我的数据库中。 目前,信息窗口打开,我可以输入信息。但这些数据并没有发送到 我的模型中的addMarker函数 function saveData() { var name = escape(document.getElementById("name").value); var item
function saveData() {
var name = escape(document.getElementById("name").value);
var item = escape(document.getElementById("item").value);
var type = document.getElementById("weapon").value;
//var latlng = marker.getPosition();
var url= "http://localhost:8888/index.php/site_model/addMarker?name="+ name
+"&item="+item+"&weapon="+weapon;
downloadUrl(url, function(data, responseCode) {
if (responseCode == 200 && data.responseText <= 1) {
infowindow.close();
document.getElementById("message").innerHTML = "Location added.";
}
else
{alert('NOT done');
alert('TEST');
}
});
function downloadUrl(url, callback) {
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;
request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request.responseText, request.status);
}
};
request.open('GET', url, true);
request.send(null);
}
function doNothing() {}
看起来您试图在uri中使用“$\u GET”查询字符串,但试图通过Codeigniter“$\u POST”访问来访问信息 确保在应用程序/config.php中启用了querystring 这通常是config.php中的第151行 更改:
$config['enable_query_strings'] = FALSE;
致:
这将使您能够使用querystring从url获取“$\u GET”信息
此外,请确保在您使用的“site_model”中的处理函数中
而不是
$this->input->post('name');
嗨,Jon,谢谢你的帮助,我调整为启用查询字符串,并更改为GET。我收到了相同的Dev.Tools Chrome错误:“加载资源失败:服务器以404(未找到)的状态响应”-addMarker“好的,好的,要解决问题,请尝试并点击”“注释您的addMarker逻辑,然后回显“此URL有效”。如果没有,我们更清楚地知道从何处开始解决此问题。听起来你的URL只是没有连接,加上mis使用GET querystring数据作为POST。另外,我觉得奇怪的是,你通过URL访问模型,我相信你可能只需要查看codeigniter文档就可以正确使用MVC范例。通常情况下,您会将此信息提交给控制器,然后控制器将执行任何逻辑或处理,然后将其发送到要插入/更新到数据库中的模型。嘿,Jon,我只是将逻辑操作从模型切换到控制器,现在它就可以工作了。多谢
$config['enable_query_strings'] = TRUE;
$this->input->get('name');
$this->input->post('name');