Javascript drupal 7 services 3.0使用映像创建节点

Javascript drupal 7 services 3.0使用映像创建节点,javascript,drupal-7,Javascript,Drupal 7,我真的被这个困住了;我正在上载一个图像文件并获取fid,但随后创建节点并附加fid的请求失败。尽管图像字段未使用图像fid填充并且图像未附着到节点,但节点仍处于创建状态 我使用此ajax发布节点: $.ajax({ url: localStorage.appurl+"/api/node.json", type: 'post', data: "node[title]=new node&node[type]=ftritem&node[field_ftritem_

我真的被这个困住了;我正在上载一个图像文件并获取fid,但随后创建节点并附加fid的请求失败。尽管图像字段未使用图像fid填充并且图像未附着到节点,但节点仍处于创建状态

我使用此ajax发布节点:

$.ajax({
    url: localStorage.appurl+"/api/node.json",
    type: 'post',
   data: "node[title]=new node&node[type]=ftritem&node[field_ftritem_images][und][0]    [fid]=7895",
    dataType: 'json',
    headers: {
      'X-CSRF-Token': localStorage.usertoken
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
      console.log('error '+errorThrown);

    },
    success: function (data) {         
    console.log("Node created");

    }
  }); 
我收到这个错误:

注意:未定义的偏移量:image_field_widget_form()中的0(第358行/var/www/dt11/modules/image/image.field.inc)

注意:文件\字段\小部件\表单()中未定义的偏移量:0(第526行/var/www/dt11/modules/file/file.field.inc)


以前有人面对过这种情况吗?任何建议都会得到高度重视。

Drupal core中存在一个问题。我在这里提出了一个问题,并提供了一个补丁,但它对我来说无法正常工作:

我只做了补丁的一部分,就让它工作了

找到modules/file/file.field.inc的第504行,并将其更改为:

if (($field['cardinality'] == FIELD_CARDINALITY_UNLIMITED || $delta < $field['cardinality']) && empty($form_state['programmed'])) {
if($field['cardinality']==field_cardinality_UNLIMITED | |$delta<$field['cardinality'])&empty($form_state['programmed'])){
为此:

if (($field['cardinality'] == FIELD_CARDINALITY_UNLIMITED || $delta < $field['cardinality'])) {
if($field['cardinality']==field_cardinality_UNLIMITED | |$delta<$field['cardinality'])){

我不知道这是否会在其他地方产生不良副作用,但它确实允许以您使用它的方式使用服务。

在应用您链接到的修补程序后,我不得不更改我的工作流程;先发布节点,然后发布所有图像,最后更新节点,逐个添加每个图像。这是有效的,但不是无效的他是最有效的方法。我同意这不是一个好的解决方案,这个问题肯定需要注意。使用服务附加文件肯定不是一个罕见的要求。