【发布时间】:2013-12-26 16:11:15
【问题描述】:
我编写的程序有问题。这个想法是我单击一个链接,然后在 JavaScript 变量中获取链接的值。然后我执行一个 GET 请求,将值发送到 PHP 变量并打印出来。
代码如下:
HTML
<html>
<head>
<script src= "http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
<body>
<div id='mydiv'>
<a href='/codeigniter/index.php/hashtest/hi'>Link 1</a>
<a href='/codeigniter/index.php/hashtest/hi'>Link 2</a>
</div>
</body>
</html>
jQuery(在上述正文中的<script> 标记中)
$(function()
{
var mydiv = $('#mydiv');
mydiv.on('click', 'a', function(){
var text = $(this).text();
console.log(text);
//$.get("hashtest.php", {qwerty: text});
$.ajax
({
url: "/codeigniter/index.php/hashtest/hi",
data: {
qwerty : text
},
async: "false",
success: function(data){
console.log("success!");
},
error: function(jqXHR, status, error)
{
alert("Status : " + status + " error: " + error);
}
});
});
});
PHP
class Hashtest extends CI_Controller {
function __construct() {
parent::__construct();
}
public function hi() {
$x = $this->input->get('qwerty');
print $x;
print "";
}
}
错误:
NS_ERROR_NOT_AVAILABLE: prompt aborted by user
目前,JavaScript 正确地获取了正确的链接值,因为 console.log() 行为两个链接输出了正确的内容。但似乎 PHP 没有收到这个值,因为没有打印出来。我试过用硬编码的字符串替换变量,但没有区别。我可以从上面的方法中打印静态 PHP,所以我认为这不是我无法打印任何 PHP 的问题。
几点:
我使用 $.ajax 而不是 $.get 只是为了查看会出现什么错误消息 出现(理想情况下我想使用 $.get )。好像有点 根据我对上述内容的阅读,某种未捕获的异常 错误消息以及出现的警告框没有 显示错误消息,只是“错误”状态。
我不指望任何回报,成功的方法就在那里 查看请求是否正常(目前不是)
我假设链接的 id 是未知的。
代码都在同一个类和我指向的 URL 中 到 AJAX 请求中是正确的(我在我的 浏览器控制台)。
PHP 是使用 CodeIgniter 框架编写的。
【问题讨论】:
标签: javascript php jquery html ajax