我正在尝试搜索名为mollyList的共享点列表。它有列名称Food,Calories,weight ...等。我在下面修改了这个示例代码,但是我一直收到错误: POST /_vti_bin/Lists.asmx 500(内部服务器错误)
我不知道这是什么问题?有人可以查看我的代码吗?
<!-- begin snippet: js hide: false -->
&#13;
<body>
<table><tbody><tr><td align="right">Calories</td>
<td align="left"><input id="firstName" type="text"/></td></tr>
<tr><td align="right">weight:</td>
<td align="left"><input id="wt" type="text"/></td></tr>
<tr><td align="right">weight:</td>
<td align="left"><input id="wt2" type="text"/></td></tr></tbody></table>
<p><input id="sb" type="button" value="Search"/> </p>
<ul id="searchResults"></ul>
</body>
&#13;
$(document).ready(function () {
$("#sb").click(function(){
alert("this");
$("#searchResults").empty();
var query = "";
var key = "";
//Build Query from input
if($("#firstname").val()){
key = $("#firstname").val();
query = "<Query><Where><Or><Contains><FieldRef Name='Food'/><Value Type='Text'>"+ key +"</Value></Contains><Contains><FieldRef Name='calories'/><Value Type='Text'>"+ key +"</Value></Contains></Or></Where></Query>";
}
// Pass query to Function
if(query)
sendQuery(query);
else
$("#searchResults").append("Please enter atleast one value");
//If no results found
if (!$("#searchResults").html())
{
$("#searchResults").append("No Results Found");
}
});
});
function sendQuery(spQuery)
{
var thisSite = $().SPServices.SPGetCurrentSite();
//function to get all the lists
$().SPServices({
operation: "GetListItems",
async:false,
webURL: $(this).attr("/Lists/mollyList/AllItems.aspx"),
listName: $(this).attr("mollyList"),
CAMLQuery: spQuery,
CAMLRowLimit: 100,
completefunc: function(xData, Status) {
}
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<body>
<table><tbody><tr><td align="right">Look Up:</td>
<td align="left"><input id="firstname" type="text"/></td></tr>
</tbody></table>
<p><input id="sb" type="button" value="Search"/> </p>
<ul id="searchResults"></ul>
Generate SPQuery and pass to the function:
</body>
答案 0 :(得分:0)
您的sendQuery()
函数对我来说是错误的,特别是这两行:
webURL: $(this).attr("/Lists/mollyList/AllItems.aspx"),
listName: $(this).attr("mollyList"),
目前尚不清楚listName: $(this).attr("mollyList"),
为您取得的成就。如果您已经知道列表名称是&#34; mollyList&#34;那么正确的代码应该是listName: "mollyList",
如果您尝试访问其他网站上的列表,则webURL
应该是列表所在网站的网址,大概采用以下语法:webUrl: "http://server.com/site/web",
< / p>
GetListItems操作的documentation表示listName
应该是列表的显示名称,而webURL
是可选的,如果您在网站上执行代码列表驻留。
另请注意,如果您使用的是SharePoint 2010或更高版本,则还可以使用可以使用的内置JavaScript对象模型。您可以在此处找到有关JavaScript客户端对象模型的Microsoft文档:https://msdn.microsoft.com/en-us/library/hh185015(v=office.14).aspx