0

我有以下问题:当我转到 https://*.appspot.com/_ah/api#p/questionendpoint/v1/questionendpoint.removeQuestion 并输入我的字符串 id 时,它看起来像“ahFzfnRyaXZpYWwtcGVyc3VpdHIQCxIIUXVlc3Rpb24Y4toBDA2”,一切正常。

如果我从我的页面调用以下代码,则删除失败。为什么?我究竟做错了什么?我用与上面相同的键调用removeQuestion函数...但它不起作用...req看起来正确并包含正确的 rpcParams,即字符串键。数据持有价值false。我看不出我做错了什么...

var req = gapi.client.questionendpoint.removeQuestion(key);
req.execute(function( data )
{ 
    addInfo(data);
});

端点函数如下所示并且正在工作(通过_ah/api/...链接)

@ApiMethod(name = "removeQuestion")
public Question removeQuestion(@Named("id")
String id)
{
    EntityManager mgr = getEntityManager();
    Question question = null;
    try
    {
        question = mgr.find(Question.class, id);
        mgr.remove(question);
    }
    finally
    {
        mgr.close();
    }
    return question;
}

我的问题类的关键定义如下:

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Extension(vendorName="datanucleus", key="gae.encoded-pk", value="true")
private String key;
4

1 回答 1

0

好的,现在,我弄清楚了它是如何工作的......

引擎中的所有函数似乎都在使用数组......所以只有以下作品(key我的字符串值在哪里......)

var data = {};
data['id'] = key; 
var req = gapi.client.questionendpoint.removeQuestion(data);
req.execute(function( data )
{ 
    updateQuestionsTable();
});
于 2013-06-04T16:36:28.913 回答