繁体   English   中英

jQuery中的Ajax调用不起作用

[英]Ajax call in jquery not working

我对ajax有一点问题,并将POST数据从jquery传递到PHP,然后将返回的值从php写回div标签

这是代码:

JS

function jsAjax()
{

    $.ajax(
    {

        type:"POST",
        url:"http://localhost/anonsecrets/functions/jswrapper.php",
        data:{name:"Ilija", phone:"0343014"},
        success:function(data)
        {
            $("#msg").html(data);
        },
        error:function()
        {
            alert("Neuspenos");
        }
    });
};

的PHP

<?php

echo $_POST['name'];

?>

和HTML

 <div id="msg"></div>
 <a href="" target="" onclick="jsAjax()"><div id="headerbutton">Best</div></a>

您还可以对HTML执行以下操作

<a href="" target="" onclick="jsAjax(); return false;"><div id="headerbutton">Best</div></a>

这样可以确保浏览器不会忽略该点击,同时,您还应确保页面的URL也位于localhost域中,以避免由于CORS引起的问题( http://en.wikipedia.org/wiki/Cross -origin_resource_sharing )问题

您可以通过添加id到链接来使用jQuery点击处理程序

例:

的HTML

<div id="msg"></div>
<a href="" id="msg-link" target=""><div id="headerbutton">Best</div></a>

JS

$('#msg-link').click(function(e) {
    e.preventDefault();
    $.ajax({
        type: "POST",
        url: "test.php",
        data: {name: "Ilija", phone: "0343014"},
        success: function(data)
        {
            $("#msg").html(data);
        },
        error: function()
        {
            alert("Neuspenos");
        }
    });
});

将您的HTML修改为

<a href="#"

<a href="" 

这样,在单击发出AJAX请求a标签后,您的页面将不会重新加载

您是否在某种onLoad语句中拥有整个功能? JQuery必须可用于DOM,然后才能使用。

http://api.jquery.com/ready/

Ankit的a标签也正确。

乔纳森

您没有描述单击链接时会发生什么。 如果在没有进行ajax调用的情况下重新加载页面,则Ankit的解决方案将起作用。 而且,如果您很难找到确切原因,请在安装Firebug扩展程序后在Firefox上进行测试。 在Firebug控制台中,您将看到Javascript错误(如果有)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM