当我在ajax调用CI控制器时传递两个参数时,值在实时服务器中显示为null。但是如果我发送一个参数它工作正常。在本地服务器中一切正常。
Ajax代码
<script type="text/javascript">
$(document).ready(function () {
$("#searchoption").keyup(function ()
{
var searchdata = $(this).val();
//alert(searchdata);
$.ajax({
url: BASE_URL + 'somajsebadmin/somajsebadmin_dashboard/search_muktijuddha_vatha_information',
type: 'POST',
data: 'searchvalue=' + searchdata + '&table_name=' + 'muktijuddha_vatha_application',
beforeSend: function() {
// setting a timeout
$('#loader').show();
},
success: function (data) {
$('#loader').hide();
$("#searchdata").html(data);
}
});
});
});
</script>
我的控制器方法代码
public function search_muktijuddha_vatha_information() {
// header('Content-Type: application/json');
if ($this->input->is_ajax_request()) {
$searchvalue = $this->input->post('searchvalue');
$tableName = $this->input->post('table_name');
// $tableName = 'muktijuddha_vatha_application';
var_dump($searchvalue,$tableName);
}
}
输出
null null
我的htaccess代码
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
答案 0 :(得分:0)
尝试使用AJAX中的对象:
data: { searchvalue: searchdata, table_name: 'muktijuddha_vatha_application' },
答案 1 :(得分:0)
要调试代码,我将从ajax开始,将jquery中的var_dump导出为
Shell("Path of Interpreter" & " " & "Path of script")
我总是使用console.log(数据),所以你不会遇到没有把你的var_dump数据输出的css或html的问题。所以试试这个:
$("#searchdata").html(data);
第二件事是在chrome或FF firebug上打开你的inspect元素,看看是否有POST,以及是什么URL,以及发布了什么数据。
那么你检查了ajax是否发布到url,然后如果url存在以及URL的响应是什么,然后如果从PHP显示响应然后看看是否是console.log(或者你做了$(&#34; #searchdata&#34;)。html(data);)确实导出了你的var_dump。
并发布多个数据尝试发布如下:
console.log(data);
或者像你这样:
data: { code: code, userid: userid }