我在从AJAX调用中检索JSON数据时遇到了问题。
我尝试使用PHP cURL从不同的网页获取JSON数据;这成功了。从Jquery AJAX调用调用PHP页面。我可以将JSON数据作为字符串从其中一个网站返回,而不是从另一个网站返回。
的jQuery
var formData = {"data1" : a, "data2" : b, "data3" : c};
$.ajax({
dataType: "json",
contentType : "application/json; charset=UTF-8",
url: '/getjson.php',
data : formData,
success: function(response) {
CurrentArray = response;
}
});
PHP
<?php
//select webpage to get JSON from
switch ($_GET['data1']){
Case 1:
$result = get_with_curl($webpage1);//select webpage 1
break;
Case 2:
$result = get_with_curl($webpage2);//select webpage 1
break;
}
echo $result['FILE'];
?>
1。什么有效
此命令的符号(在#列中)显示为&lt;&gt;在提琴手
2。什么行不通
此命令的符号(在#列中)在fiddler中显示为{JSON}。
当我将数据类型修改为“文本”并将内容类型修改为“text / plain; charset:UTF-8”时,数据(从第2点开始)将在文本中进行检索;但我希望数据采用对象格式。
答案 0 :(得分:0)
终于解决了问题, 我完全拆掉了PHP cUrl函数,只留下了基本功能。现在JSON数据返回到AJAX调用。我注意到在执行cUrl函数时有一些警告(比如未定义的变量)但是仍然在PHP函数中返回了JSON数据。所以,小学你应该认为警告应该没问题。解决来自cUrl函数的警告后,JSON数据正确返回到AJAX调用。换句话说,当发生PHP警告时,Ajax调用不会返回数据。