我正在尝试学习如何在Codeigniter中使用Ajax。这就是为什么我试图制作一个小视图和一个测试控制器,但似乎不起作用。你能帮助我吗?这是我的观点:
<script src="https://code.jquery.com/jquery-3.0.0.min.js" integrity="sha256-JmvOoLtYsmqlsWxa7mDSLMwa6dZ9rrIdtrrVYRnDRH0=" crossorigin="anonymous"></script>
<form name="modulo">
<p>Nome</p>
<p><input type="text" name="nome" id="nome"=></p>
<p>Cognome</p>
<p><input type="text" name="cognome" id="cognome"></p>
<input type="button" id="bottone" value="Invia i dati">
</form>
<div id="risultato"></div>
<script type="text/javascript">
$(document).ready(function() {
$("#bottone").click(function(){
var nome = $("#nome").val();
var cognome = $("#cognome").val();
$.ajax({
type: "POST",
url: "http://lifedesktop/welcome/ajax",
data: "nome=" + nome + "&cognome=" + cognome,
crossOrigin: true,
dataType: "html",
success: function(msg)
{
$("#risultato").html(msg);
},
error: function()
{
alert("Don't work...");
}
});
});
});
</script>
这是我的控制者:
public function ajax()
{
if($this->input->is_ajax_request()){
$nome = $_POST["nome"];
$cognome = $_POST["cognome"];
if ($nome == "" || $cognome == "")
{
echo "Inserire nome e cognome!";
}
else
{
echo $nome . " " . $cognome;
}
}
}
在控制台网页中我有这个错误:
标题CORS“Access-Control-Allow-Origin”缺失。
你能帮助我吗?
答案 0 :(得分:0)
如果您有权访问api
,请将此标头设置为您的php代码:
header('Access-Control-Allow-Origin: *');
如果没有,您只能在自己的网页中使用该API,方法是为Chrome或firefox安装一些 CORS 插件,例如this。 (无法与用户分享)