0

HTML 代码:

<div class="clearfix" style="color: #555" style="display:block; ">
<input type="text" id="id_site" placeholder="nom-du-site" style="width: 245px;  font-size: 16px;">
<div style="float: right; color: black; font-size: 16px; margin-top: 10px; margin-left: -6px">.domain.com</div>
</div>
<br>
<div class="spacing">
<a href="" id="envoyer" class="bouton">Envoyer</a>

这是带有 Query Ajax 调用的 javascript 代码:

    $("#envoyer").click(function (e) {

        // checks user input:
        nom = document.getElementById('id_nom');
        email = document.getElementById('id_email');
        site = document.getElementById('id_site');

        $.ajax({
            url: 'http://localhost/website/script.php',
            dataType: 'jsonp',
            data: {
                nom: nom,
                email: email,
                site: site
            },
            success: function (json) {
                DataSeries = json;
            },
            error: branchAjaxFailed
        });

});

这是script.php(目前):

<?
if (isset($_GET["nom"])) $nom = $_GET["nom"];
if (isset($_GET["email"])) $email = $_GET["email"];
if (isset($_GET["site"])) $site = $_GET["site"];
?>
  • Chrome 无限期冻结。如果我在此 Ajax 调用之后添加调试中断,Chrome 永远不会在“检查元素”工具中到达那里。
  • IE 给我一个“第 2 行的堆栈溢出”错误。

谁能看到问题是什么?

4

2 回答 2

0

在尝试了几件事之后,我发现了“有罪”的部分:以下 html 代码导致了问题:

<a href="" id="envoyer" class="bouton">Envoyer</a>

删除 href 可以解决问题:

<a id="envoyer" class="bouton">Envoyer</a>
于 2012-07-05T10:11:24.110 回答
0

我在处理 JSONP 时通常使用 JQuery getJSON,您的服务器是否设置为处理 JSONP?例如,如果我正在调用 Flickr API,我可能会遇到以下情况(未经测试):

$.getJSON("http://api.flickr.com/services/rest/?jsoncallback=?",
{
  tags : 'Apple',
  tagmode : "any",
  method : "flickr.photos.search",
},
function(data) {
  $.each(data.photos.photo, function(i,item){
    var src = "http://farm"+ item.farm +".static.flickr.com/"+ item.server +"/"+ item.id +"_"+ item.secret +"_m.jpg";
    var image = $('<img class="flickr" alt="' + item.title + '" />');
    image.load(function() {
      $(this).animate({ 'opacity':1 }, { duration:300, queue:false });
    });
    $('#images').append($('<a href="'+srcLarge+'" rel="prettyPhoto[location]" />').append(image));
    image.attr('src',src);
  });
 });
于 2012-07-04T13:20:49.050 回答