[英]Ajax POST in Javascript is not working
我搜索了问题,但找不到任何解决方案。 我想这真的很简单,我错过了一些非常容易的事情……但是我被困住了。
我有一个html页面,其中包含php生成的链接列表,像这样:
<?php
$val = "'"my file with spaces.txt"'";
echo '<a href="javascript:post_filename('.$val.');">click me</a>';
?>
$ val每次都不同,具体取决于SQL查询。 文件名显示正确,因为我将鼠标悬停在链接上,并且可以在浏览器的左下方阅读:
javascript:post_filename('带空格.txt的我的文件');
点击此链接将调用此javascript函数:
<script type="text/javascript">
function post_filename(val){
$.ajax
({
url: 'myurl.php',
data: { filename: val },
type: 'POST'
});
}
</script>
但是点击它,什么也没做! 没有错误,什么也没有发生。
使用开发工具(Chrome上为F12),我发现一切正常...只是mypage.php没有显示...是带有图形的页面,是网站的一部分!
我被卡住了...请帮助我! 非常感谢
您的AJAX调用无效, data
应为字符串,数组或对象。 对象可能是您从一开始就追求的东西
<script type="text/javascript">
function post_filename(val){
$.ajax
({
url: 'myurl.php',
data: {
filename: val
},
type: 'POST';
});
}
</script>
尝试使数据成为对象:
<script type="text/javascript">
function post_filename(val){
$.ajax
({
url: 'myurl.php',
data: { filename: val },
type: 'POST';
});
}
</script>
我尝试了您的代码,但是我对其进行了一些修改(我只是注意到您在type之后输入了分号 ,我认为应该是逗号,这是您拥有意外令牌的原因),我的代码可以使用以下代码:
<?php
$val = "'hello.txt'";
echo '<a href="#" class="click" file="'.$val.'">click me</a>';
?>
在javascript上
$('.click').click(function() {
$.ajax
({
url: 'myurl.php',
data: { filename: $(this).attr('file') },
type: 'POST'
})
.done(function (data) {
//check the output from your url
console.log(data);
})
.fail(function (jqXHR, textStatus) {
console.log("Request failed: " + textStatus);
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.