jQuery ajax url 参数 drupal 服务器

标签 jquery ajax web-services drupal

我正在尝试将内联参数发送到休息服务器:

  jQuery.ajax({
    type: "POST",
    url: this.apiPath + '/disp',
    dataType: 'json',
    data: 'disp_id=' +  disp_id,
    success: callback
  });

有没有办法将参数传递给 jQuery ajax? 我已经尝试了很多方式,但没有办法......

data: {disp_id: disp_id},
data: "{disp_id:" + '"' + disp_id + '"}',
data: JSON.stringify({disp_id: disp_id}),

总是相同的答案:“401 未经授权:缺少必需的参数 disp_id”。

我实现这一目标的唯一方法是:

  jQuery.ajax({
    type: "POST",
    url: this.apiPath + '/disp?disp_id=' + disp_id,
    dataType: 'json',
    success: callback
  });

额外详细信息:

this.apiPath = http://localhost/public_html/svc/disps

在服务器端(drupal)我定义了以下 hook_services_resources:

  $services_resources['disps']['actions']['disp'] = array(
    'help'                    => t('Retrieves the cue of objects for a given id'),
    'file'                    => array('type' => 'inc', 'module' => 'disps', 'name' => 'resources/disps.resource', ),
    'callback'                => '_disps_resource_dispositivos',
    'access callback'         => 'disps_can_view_disp',
    'access arguments'        =>  array(NULL),
    'access arguments append' => FALSE,
    'args'                    => array(
      array(
        'name'          => 'disp_id',
        'type'          => 'string',
        'description'   => '',
        'source'        => array('param' => 'disp_id', ),
        'optional'      => FALSE,
      ),
    ),
  );

最佳答案

试试这个:

jQuery.post(this.apiPath + '/disp', {'disp_id':  disp_id}, callback);

关于jQuery ajax url 参数 drupal 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9639067/

相关文章:

php - 根据另一个选择填充选择

javascript - 鼠标移开后,JQuery 将某些内容返回到原始位置时遇到问题

javascript - Dojo 和 ajax - 使用 dojoType attr 初始化 html

c# - MVC Controller 操作返回字符串的替代方案?

web-services - Soa 网络测试自动化

jQuery 验证需要执行两次相同的验证

jquery 创建新的子项,或更新现有的子项

javascript - 从 db 调用 ajax 后,表单中的按钮不起作用

javascript - 这个网页是如何动态加载数据的?

java - 使用 REST webservice 上传文件是个好主意吗?