Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php JQuery$.Get函数不工作_Php_Javascript_Jquery_Html - Fatal编程技术网

Php JQuery$.Get函数不工作

Php JQuery$.Get函数不工作,php,javascript,jquery,html,Php,Javascript,Jquery,Html,这是我的JQuery代码 function markread(ID) { $.get("markread.php?id="+ID); } 这是我的html <div id='notificationitem-3' class='notificationitem'> <div class='notificationpic'> <img src='sadf' /> </div> <div clas

这是我的JQuery代码

function markread(ID) {
    $.get("markread.php?id="+ID);
}
这是我的html

<div id='notificationitem-3' class='notificationitem'>
    <div class='notificationpic'>
        <img src='sadf' />
    </div>
    <div class='notmessage'><a href='asdf' onClick="markread(3);">Mark Ross has sent you a friend request.</a>
    </div>
</div>


get请求不会通过,除非有警报(“”);在它之后。这是为什么?

因为您正在单击一个标记,所以您需要防止默认行为,否则位置更改将中止ajax操作 看看这个

function markread(e,ID) {
  e.preventDefault(); 
  $.get("markread.php?id="+ID, function(data) {
        $('.result').html(data);
        alert('Load was performed.');
       location.href   = $('.notmessage').closest('a').attr('href');
   });
}

由于要单击
标记,因此需要防止默认行为,否则位置更改将中止ajax操作
看看这个

function markread(e,ID) {
  e.preventDefault(); 
  $.get("markread.php?id="+ID, function(data) {
        $('.result').html(data);
        alert('Load was performed.');
       location.href   = $('.notmessage').closest('a').attr('href');
   });
}

这个问题的一个糟糕的解决方案是在JS函数中设置位置,而不使用href

function markread(ID, gohere)
{
       $.get("markread.php?id="+ID,
               function(data)
               {
                     window.location.href = gohere;
               }
       );
}

只需添加链接作为第二个参数

这个问题的糟糕解决方案是在JS函数中设置位置,而不使用href

function markread(ID, gohere)
{
       $.get("markread.php?id="+ID,
               function(data)
               {
                     window.location.href = gohere;
               }
       );
}

只需添加链接作为第二个参数

当您单击标记时,它是否重定向到其他页面?如果是的话,我想你必须阻止它。通过使用e.preventDefault()。花点时间阅读。
$。get
希望您对返回的数据做些什么。Jquery并不是那么直观,我希望它在markread(3)之后加载到另一个页面;那个么我必须把它改成什么呢?@Kingofslowmo:谢谢。所以问题是为什么像
$.get(“markread.php?id=“+id”)这样的简单行只是不执行。当您单击标记时,它是否重定向到其他页面?如果是的话,我想你必须阻止它。通过使用e.preventDefault()。花点时间阅读。
$。get
希望您对返回的数据做些什么。Jquery并不是那么直观,我希望它在markread(3)之后加载到另一个页面;那个么我必须把它改成什么呢?@Kingofslowmo:谢谢。所以问题是为什么像
$.get(“markread.php?id=“+id”)这样的简单行
只是不执行。但我不想要警报。虽然这很接近,但参数
e
ID
没有解释(它们不会与OP的HTML代码中传递的参数一起工作),因此
e
不是预期的。而
e.preventDefault
并非在所有浏览器中都可用。jQuery事件处理程序解决了这两个问题,但我不想要警报。虽然这很接近,但没有解释参数
e
ID
(它们不会与OP的HTML代码中传递的参数一起工作),因此
e
将不是预期的。而
e.preventDefault
并非在所有浏览器中都可用。jQuery事件处理程序解决了这两个问题如果你承认这是一个“糟糕的问题解决方案”,那么当它可以以更干净/更好的方式完成时,你为什么要建议它呢?无论如何,这并不能解决问题-需要防止事件的默认行为(因此不会立即访问链接,取消AJAX请求),如果您承认这是“这个问题的糟糕解决方案”,那么当可以以更干净/更好的方式完成时,您为什么要建议它呢?无论如何,这并不能解决问题-需要防止事件的默认行为(因此不会立即访问链接,从而取消AJAX请求)