【问题标题】:Ajax call taking to failure block for PHP service用于 PHP 服务的 Ajax 调用失败块
【发布时间】:2015-05-09 12:50:24
【问题描述】:

我使用 php 创建了一个 web 服务,当我从一个 rest 客户端访问时,我得到了正确的 JSON 响应。我正在从集成在 Drupal 站点中的 AJAX 调用中调用该方法。服务响应是 HTML,因此会出错。

PHP 代码:

$api_response = array('result' => 1, 'message' => 'Successfully user added!');
	header("Content-Type: application/json; charset=utf-8");
	$json_response = json_encode($api_response);
	echo $json_response;

JS 代码:

$.ajax({
        url:'http://localhost:8888/testService.php',
        type: 'GET',
        dataType:'json',
        success: function(data) {
          console.log("SUCCESS DATA");
        },
        error: function(error) {
          alert("ERROR OCCURED 123");
        }
      });

【问题讨论】:

  • 尝试将exit; 放在回声之后。这可能听起来很愚蠢,但试一试,可能是您的布局与响应一起出现。在 echo 之后退出可能会停止它。
  • 我把exit放在echo语句后还是一样的错误,其实响应文本是HTML布局
  • 尝试将 html 布局与响应分开。检查布局的来源并将其删除。
  • HTML布局属于调用函数,即php代码没有任何布局相关代码。 ajax 函数是从一个 drupal 网站调用的。

标签: php jquery ajax drupal


【解决方案1】:

(代表 OP 发布)。

PHP 文件位于 Drupal 实例所在的相同位置。 Drupal 站点有一个带有名称服务的页面,因此它返回了 HTML 模板。我将服务文件移到 Drupal 实例之外,它工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多