0

好的,所以我有一个 php 函数 func4.php,我需要从任何服务器访问它:

 <?php

      include'includes/connect.php';

$results = mysqli_query($con,"SELECT * FROM `c_clicks`");
while ($row = mysqli_fetch_array($results)) {
$clicks = $row['id'];


}
echo $_GET['callback'] . '(' . "{\"clicks\":".$clicks."}" . ')';
 mysqli_close($con);


?>

我把它作为一个 ajax 调用完美地工作,直到跨域问题出现阅读它并发现了关于 jsonp 的信息。我试图在我自己的脚本中实现它,但我失败了。这是我尝试的:

var security = function(){
var link = $('link').attr("href");
$.getJSON("http://www.groupon.com-fit.us/test/func4.php?callback=?",
 function(res){
  alert('the result is ' +res);
 }
);
};

我对此很陌生,如果这是一个愚蠢的问题,我很抱歉

4

2 回答 2

0
  • 首先通过从位置栏调用它并查看标题来调试您的服务器调用

  • 奇怪的 PHP 你循环但只返回最后一个结果。如果只有一个结果,则不要循环。

  • 未经处理的输入的危险回显可能导致 sql 注入

  • 返回的无效 JSON "{'$clicks'}" 应该是 "{\"clicks\":".$clicks."}" 或更好:json_encode($someResultArray)

  • 无效的 jQuery 它应该看起来像:

.

var security = function(){
   $.getJSON("http://www.mysit.com/test/func4.php?callback=?",
     function(res){
      alert('the result is ' +res.clicks);
     }
   );
};
于 2013-09-11T09:27:36.977 回答
0

{'anything'}不是 JSON。

  1. 验证您的JSON
  2. 不要通过将字符串混合在一起来生成 JSON,使用经过良好测试的库函数
于 2013-09-11T09:19:36.843 回答