【发布时间】:2012-03-09 18:24:12
【问题描述】:
我正在尝试将内联参数发送到休息服务器:
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 Unauthorized: Missing required argument 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,
),
),
);
【问题讨论】:
-
如果是 REST 服务器,我建议使用 RESTful URLs
-
太棒了!是的,这让我重新思考......我要看看 GET 是否可行
标签: jquery ajax web-services drupal