据我所知,如果表单字段为空,AngularJS不会序列化表单字段.但是,我需要将这些字段放在生成的JSON中,即使它们是空的.我试图查询该JSON,如果字段描述符不存在,它将失败.有关如何让AngularJS执行此操作的任何提示?
在下面的示例中,如果您在名称字段中输入"John",而在optionalval字段中没有输入任何内容,则形成的json是{name:John}.但我希望它像{name:'John',optionalval:''}.这是"创建新"表单的情况,其中可选字段可能没有任何值.但是,无论是否有值,都需要发送字段.
<!doctype html>
<html>
<head>
<title>Serialize Test</title>
<script src="js/angular.min.js"></script>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
$scope.addnew = function(){
$http.put('/newthing.json', JSON.stringify($scope.item))
.success(function(){
})
.error(function(){
});
};
});
</script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<label for="name">Name:</label>
<input type="text" id="name" ng-model="item.name" required>
<label for="optionalval">Don't put anything here:</label>
<input type="text" id="optoinalval" ng-model="item.optionalval">
<button ng-click="addnew()">Serialize</button>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
好的,我看过很多关于这个的帖子,我花了一整天的时间来解决这个问题,但没有成功.
我正在尝试创建一个Laravel项目.我正在使用Mac(Yosemite),它运行PHP 5.5.14.机器上还有一个旧版本的PHP.当我尝试使用"laravel new projectname " 从命令行创建项目时,不会报告任何错误,但该命令只会创建一个以项目名称命名的空文件夹.我得到了"制作应用程序......"和"应用程序就绪!构建一些令人惊奇的"消息,但同样只有一个空文件夹.
如果我尝试使用此命令:composer create-project laravel/laravel projectname
我明白了:
安装laravel/laravel(v5.0.16) - 安装laravel/laravel(v5.0.16)下载:100%
在projectname中创建项目 使用包信息加载composer存储库从锁定文件安装依赖项(包括require-dev)您的需求无法解析为可安装的软件包集.
问题1 - laravel/framework v5.0.16的安装请求 - > laravel/framework [v5.0.16]可满足. - laravel/framework v5.0.16需要ext-mcrypt* - >系统中缺少所请求的PHP扩展mcrypt.
在终端中,如果我输入:我得到哪个php:/ usr/bin/php/usr/bin/php -v我得到:PHP 5.5.14(cli)(内置:2014年9月9日19:09:25)版权所有(c)1997-2014 PHP Group Zend Engine v2.5.0,版权所有(c)1998-2014 Zend Technologies with Xdebug v2.2.3,Copyright(c)2002-2013,作者:Derick Rethans
我用homebrew用这个命令安装autoconf和mcrypt:brew install autoconf mcrypt
如果我再次运行该命令,我得到:警告:已安装autoconf-2.69警告:已安装mcrypt-2.6.8
由于我一直收到错误,我认为它安装在错误的地方所以,我使用这些说明编译并安装了mcrypt:[安装mcrypt php扩展] [1].我在安装过程中使用了PHP 5.5.14版.Mcrypt安装在这个目录中:/ usr/lib/php/extensions/no-debug-non-zts-20121212 /
我重新启动了Apache.我检查了我的.bash_profile以确保/ usr/bin在我的Path中.
如果我使用phpinfo()创建一个页面并在浏览器中查看它,我会看到mcrypt列在页面的"模块作者"部分中.它只列出了创建模块的人员的姓名.
我很难过.我期待着人们可能提出的任何建议(我真的不想安装虚拟盒子,或类似的东西.当然,我可以把这个模块安装在正确的位置!)
非常感谢!
我有一个iPhone应用程序的想法,将为我赚取数十亿美元,并帮助我接管世界.我目前正在设计应用程序的体系结构.我原先假设我需要创建和托管一个数据库,允许用户上传他们的数据并与其他目标用户共享.但我认为如果用户可以直接将数据发送给对方而不将其存储在数据库中会更好.但是,我还没有找到任何可能表明这是可能的.
是否可以在不靠近(蓝牙)而不是局域网的iPhone之间发送数据?例如,位于田纳西州的用户#1会创建一些信息并点击"发送给他人",并将该信息直接发送给位于亚利桑那州的用户#2和位于缅因州的用户#3.短信功能是否可以被黑客攻击?
(我意识到属于用户#2和#3的手机必须打开,并运行将接收数据的应用程序)
我是移动开发的新手,我仍然习惯于移动设备的功能,所以我确信这是一个愚蠢的问题.但是,值得一提的是,如果可以这样做,这将极大地改变该应用程序的体系结构(和维护成本).
提前谢谢您提供的任何建议/指示.
我知道有很多关于这个问题的帖子,但是,我已经尝试了所有我见过的解决方案,但没有一个正在发挥作用.我已经在这两天工作了......似乎我应该能够进行简单的安装工作.以下是事实:我从MySQL站点下载了mysql-5.6.15-osx10.7-x86_64.dmg.我打开并运行了mysql-5.6.15-osx10.7-x86_64.pkg.然后我去了命令行并尝试了一长串命令来启动MySQL和NOTHING工作.
以下是我的一些尝试及其结果的列表:
~ $ mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2)
~ $ mysqld
2014-01-13 19:52:20 0 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
2014-01-13 19:52:20 0 [Warning] Using unique option prefix thread_cache instead of thread_cache_size is deprecated and will be removed in a future release. Please use the full name instead.
2014-01-13 19:52:20 0 …Run Code Online (Sandbox Code Playgroud) 我正在使用SPA模板在Visual Studio中创建一个新项目.我的目标是拥有一个Angular/SPA应用程序,它将"托管"/包含一些最终将进行现代化/迁移的遗留应用程序.所以,我在SPA应用程序的页面上有一个iframe,当点击一个菜单项时,我想在iframe中加载一个遗留的ASP.NET应用程序(它必须在iframe中,作为遗留站点使用它们,它的架构依赖于它们).我无法正确使用路由.SPA模板定义了一个这样的DefaultRoute类(我将RouteExistingFiles更改为true):
public class DefaultRoute : Route
{
public DefaultRoute()
: base("{*path}", new DefaultRouteHandler()) {
this.RouteExistingFiles = true;
}
}
Run Code Online (Sandbox Code Playgroud)
我编辑了RouteConfig.cs文件以忽略"aspx"页面请求,如下所示:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes) {
routes.Ignore("*.aspx");
routes.Add("Default", new DefaultRoute());
}
}
Run Code Online (Sandbox Code Playgroud)
定义的默认路由处理程序如下所示:
public class DefaultRouteHandler : IRouteHandler
{
public IHttpHandler GetHttpHandler(RequestContext requestContext) {
// Use cases:
// ~/ -> ~/views/index.cshtml
// ~/about -> ~/views/about.cshtml or ~/views/about/index.cshtml
// ~/views/about -> ~/views/about.cshtml
// ~/xxx -> ~/views/404.cshtml
var filePath = requestContext.HttpContext.Request.AppRelativeCurrentExecutionFilePath;
if (filePath == "~/") {
filePath …Run Code Online (Sandbox Code Playgroud) 我有一个ASP.NET Web应用程序,它利用ReportViewer显示本地报告.一切都在我的开发机器上运行得很漂亮(XP Pro,Visual Studio 2008).当我将应用程序部署到生产服务器(Windows Server 2008,IIS 7)时,除了报表查看器之外,该站点运行良好.生成报告时,报告查看器仍为空.
我编写了调试代码来验证是否正在从数据库接收记录,它们是.不会发生错误,但报表查看器中不显示任何记录.此外,通常出现在ReportViewer控件的菜单栏中的图像(导出按钮,打印按钮,前进和后退按钮等)也不会加载.
我在服务器上运行ReportViewer.exe来安装相应的文件,并且我已经验证它们是在机器的GAC中.
任何人都可以建议一种方法来调试这个...如果生成错误会更容易(我不敢相信我只是这么说)?
我已经定义了三个表,Stores,InventoryItems和StoreItemRecords.我的StoreItemRecords表具有外键列(StoreID,InventoryItemID),它们"指向"商店(StoreID)和InventoryItems(InventoryItemID)记录的主键.表之间的列名称相同.
如果我运行这样的查询:
SELECT StoreID, InventoryItemID FROM StoreItemRecords;
Run Code Online (Sandbox Code Playgroud)
我得到了一些奇怪的结果.我得到:1,Hammer 2,Box of Nails 3,其他一些项目名称.
所以,我正在获得StoreID,就像我应该的那样.但我也得到了库存项目的名称,而不是库存项目的ID.此外,请务必注意,InventoryItemID列定义为NUMBER,而不是TEXT.
所以,不知何故,Access试图通过提供InventoryItemName来代替InventoryItemID来帮助我,但我似乎无法找到这种行为的原因或任何阻止它的方法.
[还有一个说明.我已经编写了一些VBA代码来填充StoreItemRecords表,并且在调试模式下,我可以"监视"分配给列的InventoryItemID值,并且我已经验证了ID实际上已放入其中.
有没有人见过这样的行为?我知道当有人指出我正在做的愚蠢的事情时,我会感到非常愚蠢,但在这一点上,值得尴尬.
提前感谢您提供的任何帮助.
我在StackOverflow和其他地方看到了几个关于这个错误的线程但是,我一直无法得到解决我的问题的方法.
我有一个尝试调用Web服务方法的应用程序.当它调用一个方法(提供登录验证)时,它工作得很好.然后,当它调用另一个函数(不是登录/成员资格相关)时,它会生成此错误:
由于EndpointDispatcher上的ContractFilter不匹配,因此无法在接收方处理带有Action'http://tempuri.org/IMyAppData/GetSomeSpecialXML ' 的消息.这可能是由于合同不匹配(发送方与接收方之间的操作不匹配)或发送方与接收方之间的绑定/安全性不匹配.检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息,传输,无).
我重建并重新发布了Web服务,然后从客户端应用程序中删除了服务引用并重新创建它们.我仍然得到错误.以下是客户端应用程序的app.config文件中的相关XML:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IMyAppData" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://legolas.vectorcsp.home/MyAppSyncService/MyAppData.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMyAppData"
contract="MyAppData.IMyAppData" name="BasicHttpBinding_IMyAppData" />
</client>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)
这是Web服务的web.config文件中的相关XML:
<behaviors>
<serviceBehaviors>
<behavior name="MyAppDataSvc.MyAppDataBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="false" />
Run Code Online (Sandbox Code Playgroud)
这一切都发生在我的本地机器上.我只是想在客户端应用程序上进行开发.任何人都可以建议我可能尝试发现问题所在.
提前感谢您提出的任何建议.
更新:我做了更多测试.我已将Web服务发布到开发服务器,而不是本地计算机.我仍然得到同样的错误.我已经浏览了应用程序和Web服务的配置文件,我找不到任何问题.我已将新创建的Web服务的web.config文件与先前版本的Web服务的web.config文件进行了比较,但我没有看到任何问题.我将桌面应用程序的app.config文件的相关部分与Web服务的现有客户端的web.config文件进行了比较,但我找不到任何差异.
我已使用Microsoft Service …
access-vba ×1
angularjs ×1
asp.net ×1
asp.net-3.5 ×1
composer-php ×1
forms ×1
ios ×1
iphone ×1
json ×1
laravel ×1
mcrypt ×1
ms-access ×1
mysql ×1
osx-yosemite ×1
php ×1
reportviewer ×1
wcf-binding ×1