0

我需要通过 AJAX 将数据发送到另一个域。我使用以下代码警告错误。

$(document).ready(function(){
                $('p').click(function(){    
            $.ajax({
             url:"http://tarjom.ir/demo/javascript/get.php?callback=?",
             dataType: 'jsonp', // Notice! JSONP <-- P (lowercase)
             type :  "GET",
             data: "username=mostafa&url="+window.location,
             success:function(json){
                 // do stuff with json (in this case an array)
                 alert(json);
             },
             error:function(){
                 alert("Error");
             },
            }); 
                });
    });

我希望每次点击<p>标签都报告给另一台服务器上名为 get.php 的文件。该文件会将点击记录+事件时间保存到数据库中。

由于开发阶段,我alert();在代码中添加了一个,以提醒从 get.php 收到的任何内容,但我只会收到“错误”警报。

这是 get.php 代码:

<?php
    if($_POST['username'] != "")
    {
        $site = new mysqli('localhost', 'tarjomir_mostafa', 'securefiction1916', 'demo');
        $stmt = $site->prepare("INSERT INTO demo (url) VALUES(?)");
        $stmt->bind_param('s', $a);
        $stmt->execute();
        $stmt->close();
        echo json_encode("success");
    }
?>
4

1 回答 1

-1

尝试这个:

$(function(){

  $.ajax({
     url:"http://tarjom.ir/demo/javascript/get.php",
     dataType: 'jsonp',
     type :  "GET",
     data: "username=mostafa&url="+window.location,
     jsonpCallback:"myFunction"
  })
  .done(function(json){
         // do stuff with json (in this case an array)
         alert('done ' + json);
     })
  .fail(function(){
         alert("Error");
     });

});

响应http://tarjom.ir/demo/javascript/get.php是这样的:

myFunction({"data": "mydata" })
于 2013-09-19T16:15:07.497 回答