Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php文件中外部json对象的Ajax调用_Php_Jquery_Mysql_Json_Ajax - Fatal编程技术网

php文件中外部json对象的Ajax调用

php文件中外部json对象的Ajax调用,php,jquery,mysql,json,ajax,Php,Jquery,Mysql,Json,Ajax,我试图用ajax解析外部php文件中的json文件,该文件来自不同的服务器,技术上是同一个提供者,但我认为这并不重要 无论如何,我在wordpress网站上从数据库创建json文件的代码如下: <pre> <?php global $wpdb; if(!isset($wpdb)) { require_once('wp-config.

我试图用ajax解析外部php文件中的json文件,该文件来自不同的服务器,技术上是同一个提供者,但我认为这并不重要

无论如何,我在wordpress网站上从数据库创建json文件的代码如下:

        <pre>
            <?php


            global $wpdb;
            if(!isset($wpdb))
            {
                require_once('wp-config.php');
                require_once('wp-includes/wp-db.php');
            }

            $result = $wpdb->get_results ( "SELECT * FROM " . $table_prefix . "some_row" );
            print_r(json_encode($result, JSON_UNESCAPED_SLASHES));
            ?>
        </pre>
由于某些原因,我无法调用该文件,可能是因为其他内容的格式,有什么线索吗?

几个问题:

json_encode的结果是字符串,而不是数组。因此,您应该使用echo或print来代替print\r。 将JSON包装在标记中。 为了获得最佳结果,请确保在输出JSON数据之前设置内容类型标题:标题'content-type:application/JSON';。 尝试一下,然后告诉我们它是否解决了问题。

检查文档:

跨域默认值:对于相同的域请求为false,对于跨域请求为true

类型:布尔型

如果您希望在同一服务器上强制执行跨域请求(如JSONP) 域,将crossDomain的值设置为true。这就允许 例如,服务器端重定向到另一个域。新增版本: 1.5


非常感谢。我什么都不懂。我应该把像“Content-Type:application/json”这样的头放在哪里;。?在php脚本中还是在.htaccess文件中?就在乞讨的时候?在php tag?头之前是一个php函数,所以它必须在php文件中,介于两者之间。由于header函数告诉浏览器所需内容,因此必须在发送任何输出之前调用它,否则将收到headers ready sent警告。
$(document).ready(function() {
    $(function(){
            $.ajax({
                url: "http://somewebsite.com/phpjson.php",
                type: "GET",
                dataType: "JSON",
                cache: false,
                success: function(markers) {
                   $.each(markers,function(i, val){
                   //do something
              }
    });
});